C++ 使用singleton类时未定义的引用
我有以下针对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
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中假定它是默认的<代码>(双关语)。