Programación General > Visual C++

 Singleton

(1/1)

diego.martinez:
buenas:

estoy intentando hacer un patron singleton pero me esta dando un fallo que no entiendo:


este es el singleton

--- Código: Text --- //---------------------------- H class KngEngine {protected:static  KngEngine *  Instance;    KngEngine();  public:static  KngEngine *  Get();    //singleton }; //---------------------------- C KngEngine * KngEngine::Get(){  if (KngEngine::Instance==NULL)    KngEngine::Instance=new KngEngine();   return KngEngine::Instance;} KngEngine::KngEngine(){ }  cuando compilo me dice:

KngEngine.obj : error LNK2001: unresolved external symbol "protected: static class KngEngine * KngEngine::Instance" (?Instance@KngEngine@@1PAV1@A)
Debug/KngEngine.exe : fatal error LNK1120: 1 unresolved externals

sin embargo es solo un miembro de la clase, deberia estar correctamente definida. No entiendo en que consiste el fallo, y lo peor es que buscando por google parece que lo he implementado bien, alguien ve que puede estar mal?

gracias por anticipado

Eternal Idol:
Es un error de enlazado, static significa que el miembro no pertence a ninguna instancia en particular y por lo tanto tenes que instanciarlo, viendo tu codigo deberias hacerlo asi:


--- Código: Text --- KngEngine *KngEngine::Instance = 0;  

diego.martinez:
pues si, perfecto, era ese el fallo

muchas gracias.  :lol:

Navegación

[0] Índice de Mensajes

Ir a la versión completa