Nik*_*las 5 c++ compiler-construction singleton qt
我是C++的新手,并试图理解C++中的Singleton模式.
myclass.h
#ifndef MYCLASS_H
#define MYCLASS_H
class Myclass {
public:
static Myclass* getInstance();
private:
Myclass(){}
Myclass(Myclass const&){}
Myclass& operator=(Myclass const&){}
static Myclass* m_instance;
};
#endif // MYCLASS_H
Run Code Online (Sandbox Code Playgroud)
myclass.cpp
#include "myclass.h"
Myclass* Myclass::getInstance() {
if (!m_instance) {
m_instance = new Myclass;
}
return m_instance;
}
Run Code Online (Sandbox Code Playgroud)
编译器无法编译.我在所有3行上得到以下错误m_instance:
错误:未定义引用`Myclass :: m_instance'
Bor*_*der 15
你忘了添加:
Myclass* Myclass::m_instance = 0; // or NULL, or nullptr in c++11
Run Code Online (Sandbox Code Playgroud)
正确的#include "myclass.h".
| 归档时间: |
|
| 查看次数: |
5921 次 |
| 最近记录: |