当我运行以下代码时 - 我收到警告“从 int 到 {} 内的 long unsigned int 的缩小转换在 C++11 [-Wnarrowing] 中格式错误。我使用的是 GNU 4.8 编译器。
typedef struct TableEntry
{
unsigned long value;
const char *label;
} TableEntry;
enum FunctionType
{
NORMAL = 0,
RANGE = 1
};
TableEntry functionTypes[] =
{
{NORMAL, "NORMAL"},
{RANGE, "RANGE"}
};
我不明白为什么编译器将枚举视为 int?
这是 GCC 4.8 中的错误吗?有什么解决方法吗?任何帮助表示赞赏。