我一直在尝试使用此声明,但无论是在 Visual Studio 2012 还是 CodeBlocks(使用 GCC)上,它都不会构建。
(来自http://netghost.narod.ru/gff2/graphics/summary/fli.htm)
typedef struct _ColormapChunk
{
CHUNKHEADER Header; /* Header for this chunk */
WORD NumberOfElements; /* Number of color elements in map */
struct _ColorElement /* Color element (one per NumberOfElements) */
{
BYTE SkipCount; /* Color index skip count */
BYTE ColorCount; /* Number of colors in this element */
struct _ColorComponent /* Color component (one /'ColorCount') */
{
BYTE Red; /* Red component color */
BYTE Green; /* Green component color */
BYTE Blue; /* Blue component color */
} ColorComponents[ColorCount];
} ColorElements[NumberOfElements];
} COLORMAPCHUNK;
Visual Studio:错误 C2327:'_ColormapChunk::_ColorElement::ColorCount':不是类型名称、静态或枚举器
CodeBlocks:错误:无效使用非静态数据成员'_ColormapChunk::_ColorElement::ColorCount'
在这些问题上,解释了在 C++ 11 下是可能的:
所以在 CodeBlocks 我勾选了这个选项:
让 g++ 遵循 C++11 ISO 语言标准 [-std=c++11]
在 VS 上我找不到这样的选项,在 CodeBlocks 上它仍然没有编译。
这个声明可以这样使用还是需要一些更改?如果是这样,哪些?