我正在尝试使用Xcode在C++,Mac OS上创建非常经典的单例
我如下创建类MySingleton:

class MySingleton{
private:
    int val;
    static MySingleton *instance;
    MySingleton(){
        val = 0;
    }
public:
    int getVal(){
        return val;
    }
    void setVal(int iVal){
        val = iVal;
    }
    static MySingleton* getInstance(){
        if(instance == NULL)
            instance = new MySingleton();
        return instance;
    }

};

链接器抱怨静态MySingleton * getInstance()
遵循链接器消息:



有人可以帮忙吗?也许我需要在Xcode上进行一些设置,顺便说一下,它是4.2.1版,但我无法做到这一点。
谢谢。

最佳答案

您需要在cpp文件中定义静态变量,如下所示:

MySingleton *MySingleton::instance = 0;

关于c++ - C++ Singleton无法在Mac OS上链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12102700/

10-10 05:07