错误:在c ++

时间:2019-01-17 17:57:35

标签: c++

在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个退出状态

0 个答案:

没有答案