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
Ir a la versión completa