Bonjour,
J'ai une classe avec un membre static qui me sert pour compter le nombre d'objets créés. N'empeche que le fait de modifier ce membre dans le constructeur me fait tomber en Erreur. Voici le code :
l'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37 #include <new> #include <typeinfo> #include <vector> class Objet { private: static int nbrEle; int id; char name[20]; public: Objet(int _id,const char *_name) { id = _id; strcpy(name,_name); nbrEle++; } static int getNbrEle() { return nbrEle; } void resetNbrEle(){ nbrEle = 0; } }; int main(int, char**) { Objet *obj; obj = new Objet(1,"chaine"); return 0; }
undefined reference to `Objet::nbrEle'
Je suis sous Linux avec gcc 4.1.2 20070626
Je rajoute qu'en vidant le main ca passe, le fait de faire le new plante !!
Partager