다음을 통해 공유


컴파일러 오류 C2658

'member': 익명 구조체/공용 구조체의 재정의

익명 구조체 또는 공용 구조체 두 개에는 동일한 식별자가 있지만 형식이 다른 멤버 선언이 포함되어 있습니다. /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;
   };
};