2
我需要在我的頭文件以前瞻聲明一個類,像這樣:爲什麼我不能轉發聲明靜態函數?
class MyStaticClass;
我明白,爲什麼不能向前聲明這個類的數據成員。我曾經認爲你可以向前聲明函數。我想聲明這個類的靜態函數,就像這樣:
class MyStaticClass;
static int MyStaticClass::AddTwoNumbers(const int a, const int b);
這雖然給了我一個編譯錯誤:
error C2027: use of undefined type 'MyStaticClass'
爲什麼這個不能做?或者有沒有祕密的方式來做到這一點?
爲什麼?您不需要提供類成員函數的前向聲明。在使用它之前,您只需確保類定義在範圍內。 – EJP
在我正在開發的項目中,出於某些原因,我不能簡單地包含我需要的文件頭。因此,我想只是向前聲明它,並且鏈接器將它鏈接起來。 – Yellow
爲了能夠說'SomeType :: Anything',你需要一個完整的定義'SomeType'。 – juanchopanza