-2
我想回到一個類Foo的第一次創建instannce(會有所有程序生命週期過程中產生的實際上是一個實例)從它的靜態方法。下面的示例代碼:無法從它返回一個類Foo的instannce靜態方法
//.h
#pragma once
class Foo
{
static Foo* _firstInstance;
public:
Foo();
~Foo();
static Foo* GetFirstFoo();
};
//.cpp
#include "stdafx.h"
#include "Foo.h"
Foo::Foo()
{
_firstInstance = this;
}
Foo::~Foo()
{
}
Foo* Foo::GetFirstFoo()
{
return _firstInstance;
}
但我得到了一個錯誤:
Error 1 error LNK2001: unresolved external symbol "private: static class Foo * Foo::_firstInstance" ([email protected]@@[email protected]) c:\Users\Brans\documents\visual studio 2013\Projects\testSt\testSt\Foo.obj testSt
有什麼不對?我在C++新的,但我記得我創建的類實例構造從靜態方法沒有任何問題。
有數百個這種重複的,這應該由任何基本的C++引入覆蓋... –
嘗試改變的名稱類吧,請不要忘記更新主題 – 4pie0