Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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++ 使用singleton类时未定义的引用_C++ - Fatal编程技术网

C++ 使用singleton类时未定义的引用

C++ 使用singleton类时未定义的引用,c++,C++,我有以下针对singleton类的测试应用程序: class my_singleton { private : my_singleton(); public : static my_singleton& getinstance() { static my_singleton instance; return instance; } void demo() { std::cout &l

我有以下针对singleton类的测试应用程序:

class my_singleton {
   private :
      my_singleton();
   public :
      static my_singleton& getinstance() {
         static my_singleton instance;
         return instance;
      }
    void demo() {
       std::cout << "demo !!!!" << std::endl;
    }
};

int main(int argc, char* argv[]) {
   my_singleton::getinstance().demo();
}
class my_singleton{
私人:
我的单身汉;
公众:
静态my_singleton和getinstance(){
静态my_单例实例;
返回实例;
}
void demo(){

std::cout你需要定义你的构造函数。目前它被声明为私有的,但没有定义。因为你的构造函数很琐碎,所以你能做的最好的事情就是

   private :
      my_singleton() = default;

在一个旁注下,你可能还想“代码>删除< /COD>复制构造函数。< /P>你忘记定义默认构造函数吗?C++中允许缺省吗?这是新的STD?@ DEXTER,它来自C++ 11,我在代码2016中假定它是默认的<代码>(双关语)。