私はしばらくの間、解決策を見つけようとして頭を悩ませてきました。静的ポインターを持つクラスから継承したいのですが、エラー LNK2001: unresolved external symbol "protected: static class cGame * cEvent::mGame" (?mGame@cEvent@@1PAVcGame@@A) が発生します
最適には、クラス cEvent を 1 回だけ初期化してから、継承されたクラスにポインタを渡さないようにします。
#ifndef EVENT_H
#define EVENT_H
#include "game.h"
class cEvent
{
protected:
static cGame* mGame;
public:
cEvent(){;}
virtual void doEvent(){;}
};
class cEventExitButton: public cEvent
{
private:
public:
cEventExitButton(cGame *g){mGame = g;}
void doEvent(){mGame->getWindow()->close();}
};
#endif