使用LLVM 5在objective-c中的结构中声明枚举

时间:2013-07-13 10:28:21

标签: objective-c c struct enums llvm

在objective-c文件中的结构中声明枚举时出现错误。我最近升级到LLVM 5并且之前没有出现此错误。我尝试过C99和C11。任何想法是错的还是以前允许的非法语法?

struct LogParams
{
    typedef NS_ENUM (int, Level)    // Error type name does not allow storage class to be specified
    {
        LevelTrace = 0,
        LevelDebug,
        LevelInfo,
        LevelWarn,
        LevelError,
        LevelFatal
    };

    uint64_t time;
};

1 个答案:

答案 0 :(得分:1)

在结构体内声明枚举或typedef在C ++和Objective-C ++翻译中有效。

在C或Objective-C中不合法。