我一直在尝试实现一个简单的单例,但是我得到一个未解析的外部:
error LNK2001: unresolved external symbol "private: static class Xeno::Engine * Xeno::Engine::m_instance" (?m_instance@Engine@Xeno@@0PAV12@A)
我在网上看了一会儿查看单身人士课程的例子,但是我似乎无法发现我想要做的事情。
这是我的头文件:
#pragma once
namespace Xeno {
class Engine
{
private:
Engine();
static Engine* m_instance;
protected:
public:
~Engine();
static Engine* GetInstance()
{
if (m_instance == nullptr)
m_instance = new Engine();
return m_instance;
}
void TestFunc();
};
}
这是我的cpp文件:
#include "Engine.h"
namespace Xeno {
Engine* Engine::m_instance = nullptr;
Engine::Engine()
{
}
Engine::~Engine()
{
}
void Engine::TestFunc()
{
}
}