我在C ++中获取枚举的编译时间,错误说预期了类或命名空间
mf.setStatus(MediaFile::SyncStatus::Synced);
枚举定义如下
class MediaFile
{
public:
enum SyncStatus
{
New = 0,
Remove = 5,
Synced = 10,
Unknown = 15
};
//...
};
我正在使用xcode进行编译,但我想这与C ++语法有关,之前它在Visual Studio上编译得很好。 Visual Studio可能会给出一些关于它的警告,但是做了构建 有什么建议吗?
答案 0 :(得分:9)
请尝试使用MediaFile::Synced
。 SyncStatus
是类型名称(如SyncStatus theStatus
),而不是名称空间。
答案 1 :(得分:4)
enum
没有定义命名空间,因此枚举器的值会进入周围的上下文。您需要改为MediaFile::Synced
。