編譯器錯誤 C2084
函式 『function』 已經有主體
已定義函式。
在 Visual Studio 2002 之前,
編譯程式會接受多個範本特製化,這些特製化解析為相同的實際類型,雖然永遠無法使用其他定義。 編譯程式現在會偵測到這些多個定義。
__int32
和int
會被視為不同的類型。 編譯程式現在會將__int32
視為的同義字int
。 這表示編譯程式會在和int
上多載函式併__int32
發出錯誤時偵測多個定義。
範例
下列範例會產生 C2084:
// C2084.cpp
void Func(int);
void Func(int) {} // define function
void Func(int) {} // C2084 second definition
若要更正此錯誤,請移除重複的定義:
// C2084b.cpp
// compile with: /c
void Func(int);
void Func(int) {}