期望一个类或命名空间

时间:2013-02-01 22:46:49

标签: c++

我在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可能会给出一些关于它的警告,但是做了构建 有什么建议吗?

2 个答案:

答案 0 :(得分:9)

请尝试使用MediaFile::SyncedSyncStatus是类型名称(如SyncStatus theStatus),而不是名称空间。

答案 1 :(得分:4)

C ++中的

enum没有定义命名空间,因此枚举器的值会进入周围的上下文。您需要改为MediaFile::Synced