コンパイラ エラー C2011
'identifier' : 'type' 型の再定義
この識別子は、既に type
として定義されています。 識別子の再定義をチェックします。
ヘッダー ファイルまたはタイプ ライブラリを同じファイルに 2 回以上インポートすると、C2011 が生成される場合もあります。 ヘッダー ファイルに定義されている型が複数含まれないようにするには、ヘッダー ファイル内で include guard または #pragma
once ディレクティブを使用します。
再定義された型の最初の宣言を見つける必要がある場合は、/P コンパイラ フラグを使用して、コンパイラに渡されたプリプロセス済みの出力を生成できます。 テキスト検索ツールを使用して、出力ファイル内の再定義された識別子のインスタンスを見つけることができます。
次の例では、C2011 を生成し、その修正方法を示しています。
// C2011.cpp
// compile with: /c
struct S;
union S; // C2011
union S2; // OK