低於我代碼不爲comiling單例模式C++單例模式_實現與存儲器managenet
(錯誤LNK2019:解析外部符號 「私人:__thiscall辛格爾頓::辛格爾頓(無效)」(?? 0Singleton @@ AAE @ XZ)在函數「public:static class Singleton * __cdecl Singleton :: returnOneInstance(void)」(?returnOneInstance @ Singleton @@ SAPAV1 @ XZ)中引用)
任何人都可以幫忙嗎?我也想知道如何管理內存?謝謝
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
class Singleton
{
private:
Singleton();
Singleton(const Singleton& sing);
void operator=(const Singleton& sing);
static Singleton* singleton;
/*The 'instance' field holds the reference of the one and only instance.
It is stored in a static variable because its scope has to be the class itself and not a particular instance.
*/
public:
static Singleton* returnOneInstance();
void printme() const;
};
Singleton* Singleton::singleton=NULL;
Singleton* Singleton::returnOneInstance(){
if (!singleton){
singleton=new Singleton;
}
return singleton;
};
void Singleton::printme()const {
cout << "I'm the Singleton" << endl;
}
int main()
{
Singleton* m=Singleton::returnOneInstance();
m->printme();
system("PAUSE");
return 0;
}
是,其中*是*了'辛格爾頓()'定義? –
此外,不要忘記閱讀[什麼是單身人士如此糟糕?](http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons?rq=1) –