リンカ エラー メッセージ "private: static class Worlds::Game * Worlds::Game::instance"
以下は、エラーに関連するコード セグメントです。
Game.h から
static Worlds::Game* instance;
static Worlds::Game* getInstance();
Game.cpp から
Worlds::Game* instance = 0;
Worlds::Game* Worlds::Game::getInstance()
{
if (instance)
{
return instance;
}
else
{
return instance = new Worlds::Game();
}
}
私の質問は、ゲームクラスのシングルトンを作成するためにすべてのベースをカバーする必要があるのに、なぜこのエラーが発生するのですか?
編集:
Game.cpp に追加するのを忘れていました。何かを行う Game の関数を呼び出す必要があるすべての Glut コールバックがあります。
void onKeyDownCallback(unsigned char key, int mouseX, int mouseY)
void onKeyUpCallback(unsigned char key, int mouseX, int mouseY)
void timerCallback(int value)
void onWindowReshapeCallback(int w,int h)
void onMouseClickedCallback(int button, int state, int mouseX, int mouseY)
void onMouseMovedCallback(int deltaX, int deltaY)
void displayCallback()