【发布时间】:2012-08-09 13:53:27
【问题描述】:
链接器错误消息“私有:静态类 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 中添加我的所有 Glut 回调,这些回调需要调用 Game 中的函数。
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()
【问题讨论】:
-
请看我如何编辑您的帖子并学习使用正确的格式。使用
标签是没有意义的。只需缩进代码即可。
标签: c++ static singleton linker-errors