次の方法で共有


コンパイラ エラー 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;
   };
};