編譯器錯誤 C2011
'identifier': 'type' 類型重複定義
識別項已定義為 type
。 檢查識別項是否重複定義。
如果您將標頭檔或類型庫多次匯入至相同檔案中,您也會收到 C2011。 若要防止在標頭檔中定義之類型的多個包含,請使用標頭檔中的 include guards 或 #pragma
once 指示詞。
如果您需要尋找重新定義型別的初始宣告,您可以使用 /P 編譯器旗標來產生傳遞至編譯器的前置處理輸出。 您可以使用文字搜尋工具,在輸出檔中尋找重複定義的識別項的執行個體。
下列範例會產生 C2011,並示範修正此問題的方法:
// C2011.cpp
// compile with: /c
struct S;
union S; // C2011
union S2; // OK