Bonjour !
J'ai un petit problème, j'arrive pas a initialiser une variable static. Voilà ce que je fais :
fichier.h
Code :
- class A
- {
- public:
- static int i;
- void setI(int n);
- };
|
fichier.cpp
Code :
- void A::setI(int n)
- {
- A::i = n;
- }
|
et là le compilateur me sort :
Citation :
error LNK2019: unresolved external symbol "private: static int ModelInstance::i" (?i@ModelInstance@@0HA) referenced in function "public: static void __cdecl ModelInstance::Init(class boost::shared_ptr<class Render> )" (?Init@ModelInstance@@SAXV?$shared_ptr@VRender@@@boost@@@Z)
|
Bon une petite recherche Google m'a permis de voir qu'en réalité il fallait faire ça :
Code :
- void A::setI(int n)
- {
- int A::i = n;
- }
|
mais alors là le compilateur me sort :
Citation :
'ModelInstance::i' : definition or redeclaration illegal in current scope
|
ce que je trouve logique, mais alors du coup, je sais plus quoi faire...
si quelqu'un peut m'aider ça serait sympa...
Merci