コンパイラ エラー C2658
'member': 匿名構造体または共用体での再定義
2 つの匿名構造体または共用体には、同じ識別子を持つが型が異なるメンバー宣言が含まれています。 /Za では、同じ識別子と型を持つメンバーに対してもこのエラーが発生します。
次の例では C2658 が生成されます。
// C2658.cpp
// compile with: /c
struct X {
union { // can be struct too
int i;
};
union {
int i; // Under /Za, C2658
// int i not needed here because it is defined in the first union
};
};
struct Z {
union {
char *i;
};
union {
void *i; // C2658 redefinition of 'i'
// try the following line instead
// void *ii;
};
};