使用Qt 时,需要用到单例模式,网上查到的写法
都会报错
可用的写法
A.h:
public:
static A* getInstance(QWidget* B,QWidget* parent = nullptr);
private:
A(QWidget* B,QWidget* parent);
A.cpp:
A* getInstance(QWidget* B,QWidget* parent){
static A* a = new A(B,parent);
return a;
}
cpp不能写 static A* getInstace(QWidget* B,QWidget* parent),会报错
测试结果A* a1 = A::getInstance(B); A* a2 = A::getInstance(B); qDebug() << a1 << a2 <<(a1 == a2);



