我的单例变量

时间:2018-03-20 11:39:13

标签: c++ static singleton unresolved-external

我一直在尝试实现一个简单的单例,但是我得到一个未解析的外部:

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()
    {
    }

}

0 个答案:

没有答案