目前,我有一个定义此枚举类的C ++ 11项目:
enum class ColorDef : color
{
/// Transparent color
TRANSPARENT = 0xF000u,
/// Black color
BLACK = 0x0000u,
/// Red color
RED = 0x0E00u,
/// Green color
GREEN = 0x00E0u,
/// Blue color
BLUE = 0x000Eu,
/// Yellow color
YELLOW = 0x0EE0u,
/// Cyan color
CYAN = 0x00EEu,
/// Magenta color
MAGENTA = 0x0E0Eu,
/// Grey 10% color
GREY10 = 0x0CCCu,
/// Grey 25% color
GREY25 = 0x0AAAu,
/// Grey 50% color
GREY50 = 0x0888u,
/// Grey 75% color
GREY75 = 0x0666u,
/// Grey 80% color
GREY80 = 0x0444u,
/// Grey 90% color
GREY90 = 0x0222u,
/// White color
WHITE = 0x0EEEu,
/// Cornflower Blue color
CORNFLOWERBLUE = 0x068Eu
};
它在Linux上正常编译,在Code :: Blocks 13.12上,使用GCC 4.8.1。 然后,我在Windows上使用相同的IDE和相同的编译器克隆了SAME代码,它只是无法识别我的枚举类! 这是一个SDL应用程序。我检查了它是否是一个库问题,但一切似乎都没问题。 Code :: Blocks为我定义“TRANSPARENT”的行提供了以下错误:
error: expected identifier before numeric constant
error: expected '}' before numeric constant
error: expected unqualified-id before numeric constant
我还检查过它是否已经在我的项目中定义过,但事实并非如此。 请帮忙!我无法在任何地方找到解决方案。