0

I have been trying to implement a simple singleton, however I am getting a unresolved external:

error LNK2001: unresolved external symbol "private: static class Xeno::Engine * Xeno::Engine::m_instance" (?m_instance@Engine@Xeno@@0PAV12@A)

I looked around online for a while looking at examples on singleton classes, however I can't seem to find anything wrong with what I am trying to do.


Here's my header file:

#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();
    };

}

And here's my cpp file:

#include "Engine.h"

namespace Xeno {

    Engine* Engine::m_instance = nullptr;

    Engine::Engine()
    {

    }

    Engine::~Engine()
    {

    }

    void Engine::TestFunc()
    {
    }

}
Happy Crayfish
  • 47
  • 1
  • 11

0 Answers0