[Attributs statics] Regrouper des valeurs dans une classe
Bonjour à tous !
J'ai besoin dans mon programme d'utiliser différentes valeurs à plusieurs endroits, et j'ai pensé les regrouper dans une classe, en tant qu'attributs statics. Voici le code de ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #ifndef PARAM
#define PARAM
class Param {
public :
static int longueur_liste_tabou;
static int critere_arret_intens;
static int critere_best_improving;
static int critere_arret_div;
static int it_escape;
static double facteur_flow;
static double facteur_contraintes;
static double fraction_deepSearch;
};
int Param::longueur_liste_tabou = 7;
int Param::critere_arret_intens = 15;
int Param::critere_best_improving = 5;
int Param::critere_arret_div = 3;
int Param::it_escape = 10;
double Param::facteur_flow = 0.9;
double Param::facteur_contraintes = 0.1;
double Param::fraction_deepSearch = 0.15;
#endif |
Lorsque j'inclus ce fichier (param.h) où j'en ai besoin, j'ai l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| usr/bin/ld: multiple definitions of symbol Param::facteur_flow
/var/tmp//cc5fj4wK.o definition of Param::facteur_flow in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::facteur_flow in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::critere_arret_div
/var/tmp//cc5fj4wK.o definition of Param::critere_arret_div in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::critere_arret_div in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::facteur_contraintes
/var/tmp//cc5fj4wK.o definition of Param::facteur_contraintes in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::facteur_contraintes in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::fraction_deepSearch
/var/tmp//cc5fj4wK.o definition of Param::fraction_deepSearch in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::fraction_deepSearch in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::critere_arret_intens
/var/tmp//cc5fj4wK.o definition of Param::critere_arret_intens in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::critere_arret_intens in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::longueur_liste_tabou
/var/tmp//cc5fj4wK.o definition of Param::longueur_liste_tabou in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::longueur_liste_tabou in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::critere_best_improving
/var/tmp//cc5fj4wK.o definition of Param::critere_best_improving in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::critere_best_improving in section (__DATA,__data)
/usr/bin/ld: multiple definitions of symbol Param::it_escape
/var/tmp//cc5fj4wK.o definition of Param::it_escape in section (__DATA,__data)
/var/tmp//ccy03g5I.o definition of Param::it_escape in section (__DATA,__data)
collect2: ld returned 1 exit status |
Est-ce que je m'y prends mal pour définir ma classe et les valeurs de mes attributs ? Je précise qu'ils ne sont pas constants car je dois les modifier en cours d'exécution.
Merci d'avance pour votre aide !