当我尝试初始化枚举变量时收到警告。这是代码:
enum etatCourant {REPOS, MARCHE_AV, MARCHE_AR, ERREUR};
etatCourant = REPOS;
这是警告:“etatCourant”声明中的类型默认为“int”[-Wimplicit-int]
我错过了什么吗?
代码按预期工作,但我只是不喜欢警告。我尽量避开他们
您试图声明一个名称与枚举标记名称一致的变量,而没有在变量声明中指定类型说明符
enum etatCourant {REPOS, MARCHE_AV, MARCHE_AR, ERREUR};
etatCourant = REPOS;
^^^^^^^^^^^
因此根据编译器消息,它假设默认情况下它将具有类型
int
。
如果你想声明一个枚举类型的变量你需要这样写
enum etatCourant {REPOS, MARCHE_AV, MARCHE_AR, ERREUR};
enum etatCourant courant = REPOS;
在这种情况下,变量
courant
将具有枚举类型 enum etatCourant
。
或者声明也可以像这样重写
enum etatCourant etatCourant = REPOS;
尽管这样的声明可能会让代码的读者感到困惑。