Compiler Warning (level 3) C4608
TOC
Collapse the table of content
Expand the table of content
The document is archived and information here might be outdated

Compiler Warning (level 3) C4608

'union_member' has already been initialized by another union member in the initializer list, 'union_member'

Two members of the same union were initialized in an initialization list. You can only access one member of the union.

The following sample generates C4608

// C4608.cpp
// compile with: /W3
class X {
public:
   X(char c) : m_i( c + 1), m_c(c) {
   // try the following line instead
   // X(char c) : m_c(c) {
   } // C4608

private:
   union {
      int m_i;
      char m_c;
   };
};

union Y {
public:
   Y(char * name) : m_number(0.3), m_string( name ) {
   } // C4608

private:
   double m_number;
   char * m_string;
};

main() {
}
Show:
© 2016 Microsoft