2010-09-28 5 views
0

J'ai un membre statique dans ma classe. Il est déclaré et défini:Référence indéfinie au membre statique

Dans mon en-tête:

class Bla { 
... 
static Bla* instance; 
... 
}; 

Dans mon dossier de mise en œuvre:

Bla::Bla* instance = 0; 

Mais ld ne semble pas à l'aimer:

release/bla.o:bla.cpp:(.text+0x19f7): undefined reference to `Bla::instance' 

I J'utilise GCC 4.4.0 du Qt SDK.

Je n'arrive pas à comprendre ce que je fais de mal. Quelqu'un peut-il faire la lumière sur cette question?

Répondre

8

Vous avez manqué un Bla, et créé à la place un global. Rendez-le:

Bla* Bla::instance = 0;