Tag: scripting bridge

枚举值的类型是什么?

我正在使用Apple的ScriptingBridge框架,并为iTunes生成了一个包含以下几个enum的头文件: typedef enum { iTunesESrcLibrary = ‘kLib’, iTunesESrcIPod = ‘kPod’, iTunesESrcAudioCD = ‘kACD’, iTunesESrcMP3CD = ‘kMCD’, iTunesESrcDevice = ‘kDev’, iTunesESrcRadioTuner = ‘kTun’, iTunesESrcSharedLibrary = ‘kShd’, iTunesESrcUnknown = ‘kUnk’ } iTunesESrc; 我的理解是enum值必须是整数,但这个定义似乎违反了这个规则。 此外,似乎将这些enum值视为整数(例如,在NSPredicate )并不是正确的事情。 我将上面的enum声明添加到具有空main函数的C文件中,并使用i686-apple-darwin9-gcc-4.0.1 。 因此,虽然这些类型的enum可能不符合C标准(正如Parappa在下面指出的那样),但它们至少被gcc编译成某种类型。 那么,那种类型是什么,以及如何在格式字符串中使用它?