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