【发布时间】:2017-10-10 09:22:42
【问题描述】:
我正在尝试在我的项目中包含 QSoundeffect,但出现编译器错误
/home/innereye/Qt5.7.0/5.7/gcc_64/include/QtMultimedia/qsoundeffect.h:76: error: expected unqualified-id before '{' token
当我查看代码中的相关行时,我看到一个声明了名称为 Status 的枚举。
enum Status
{
Null,
Loading,
Ready,
Error
};
如果我将枚举名称更改为 Status1,编译是可以的,但我不想避免它并且不更改 Qt 源代码。 有没有办法查看为什么编译器无法解决它?我的项目中没有任何具有该名称的枚举,但也许其中一个库或外部源使用它?
在 ubuntu 16.04 上使用 Qt 5.7
【问题讨论】:
-
为 your 类型使用命名空间。总体而言,良好的经验法则。在处理尚未理解良好命名空间分区概念的库时特别有用,例如 Qt。
-
你的代码中有一些定义吗?
-
我有定义,但没有一个被称为状态。我的项目不包含“状态”一词作为名称
-
对你的枚举有命名空间。链接:stackoverflow.com/questions/7090130/enum-in-a-namespace
-
正如我所说,我不想更改 Qt 源代码中的代码。有没有办法找出编译器产生错误的原因?
标签: c++ qt enums compiler-errors