在C ++中创建单例类时出错。我是C ++的初学者。
我没有收到“未定义参考”错误。我搜索了互联网,但没有得到令人满意的结果。还请说明单例类中对象的创建。
#include<iostream>
using namespace std;
class Singleton
{
private:
static Singleton obj;
Singleton()
{
cout<<"Constructor is private";
}
public:
void print()
{
cout<<"It works";
}
static Singleton getInstance()
{
if(&obj == NULL)
Singleton* obj = new Singleton;
return obj;
}
};
int main()
{
Singleton::getInstance().print();
return 0;
}
/tmp/ccggqn8x.o:在函数“ Singleton :: getInstance()”中:
temp.cpp :(。text._ZN9Singleton11getInstanceEv [_ZN9Singleton11getInstanceEv] + 0x13):未定义对`Singleton :: obj'的引用
collect2:错误:ld返回1个退出状态