Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;单例无法在Mac OS上链接 我试图用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; } };_C++_Macos - Fatal编程技术网

C++;单例无法在Mac OS上链接 我试图用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; } };

C++;单例无法在Mac OS上链接 我试图用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; } };,c++,macos,C++,Macos,链接器正在抱怨静态MySingleton*getInstance() 遵循链接器消息: 架构x86_64的未定义符号:“MySingleton::instance”, 引用自: 未在main.o ld:symbol中找到架构x86_64的MySingleton::getInstance():错误:链接器命令失败,退出代码为 1(使用-v查看调用) 有人能帮忙吗?也许我需要在Xcode上设置一些东西,顺便说一下,Xcode是4.2.1版,但我不能这样做。 谢谢。您需要在cpp文件中定义静态变量,如

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

架构x86_64的未定义符号:“MySingleton::instance”, 引用自: 未在main.o ld:symbol中找到架构x86_64的MySingleton::getInstance():错误:链接器命令失败,退出代码为 1(使用-v查看调用)

有人能帮忙吗?也许我需要在Xcode上设置一些东西,顺便说一下,Xcode是4.2.1版,但我不能这样做。
谢谢。

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

MySingleton *MySingleton::instance = 0;

静态成员MySingleton需要在cpp文件中定义。在标题中,您只声明了它。查看此以了解更多信息:

据我所知,您已经声明了
静态MySingleton*实例
,但没有在任何地方定义它。

据我所知,您已经声明了
静态MySingleton*实例
,但没有在任何地方定义它。太傻了!!!!谢谢ta。斯佩特。是!!!