【问题标题】:In QT, error: ISO C++ forbids forward references to 'enum' types在 QT 中,错误:ISO C++ 禁止前向引用“枚举”类型
【发布时间】:2016-10-06 04:36:16
【问题描述】:

总的错误信息是:

    /Users/me/Downloads/test/test.h:70: error: ISO C++ forbids forward references to 'enum' types
    typedef enum users_type User_Type;

我知道错误与枚举类型有关,但我仍然想在我的代码中使用这种类型。 你能给一些建议吗? 谢了!

代码是:

enum uers_type{
    player,
    left_player,
    right_player,

};
typedef enum users_type User_Type;

例如,我想像这样使用这个枚举:

bool check(int){ 
if(user == (User_Type)player)
   return true;
else
   return false;
}

这些代码在不同的头部。

【问题讨论】:

  • 在 test.h 第 70 行显示你在做什么!
  • 为什么一定要使用前向引用?
  • 另外,一般来说,如果你在这种情况下不使用 typedef 可能会更好。
  • 这似乎与Qt无关

标签: c++ qt enums


【解决方案1】:

我认为这只是一个错字。应该是

...
enum users_type{
...

而不是

...
enum uers_type{
...

【讨论】:

  • 但是同样的代码可以在 QT(windows 版本)中运行。我认为这是语法错误。
  • 该错误与 Qt 无关,它使用您平台上可用的 C++ 编译器。可能,Windows 上的 MSVC...
  • 我太笨了!问题得到解决。原因是笔误。我自信地认为代码中没有语法错误,因为我仍然可以在 windows 中运行。谢谢!
猜你喜欢
  • 2016-12-11
  • 1970-01-01
  • 2014-06-12
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多