所以基本上我试图创建一个类和一个(静态)函数来访问它,但是由于某些原因,代码拒绝编译并抛出2个“未解析的外部符号”错误。
// game.cpp
#include "game.h"
CGame::CGame()
{
// ...
}
CGame* CGame::getInstance()
{
if (s_instance == nullptr)
s_instance = new CGame();
return s_instance;
}
void CGame::run()
{
// ...
}
...
// main.cpp
#include "game.h"
int main()
{
CGame::getInstance()->run();
}
...
#ifndef _GAME_
#define _GAME_
class CGame
{
private:
static CGame* s_instance;
public:
static CGame* getInstance();
void run(); // For testing purposes
CGame();
};
#endif _GAME_
这里是什么问题,如何在不声明的情况下创建我可以使用的类?
CGame::s_instance = nullptr;
您的cpp中缺少。