Strongly typed enums as bit fields

Владимир Андреев volodya@netfolder.ru
Sun Nov 20 09:06:00 GMT 2011


Hello all!

I try to compile the following test program using GCC 4.6.1:

enum class MyEnum: unsigned char
{
  A = 1,
  B = 2
};

struct MyClass
{
  MyEnum Field1: 3;
  unsigned char Field2: 5;
};

int main()
{
  MyClass Class;
}

but have error:

C:\MinGW\bin>gcc E:/Test/Main.cpp -o E:/Test/Out.exe -std=c++0x
E:/Test/Main.cpp:9:18: error: bit-field 'Field1' with non-integral type

MSVC 11.0 normally processes this program.

Why GCC throws this error and MCVC doesn't?

--
With regards, Vladimir



More information about the Gcc-help mailing list