Предупреждение может быть связано с тем, что значение зависит от реализации и, следовательно, не является переносимым.
отаю с AppleScriptingBridge
Framework, и сгенерировал заголовочный файл для 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
объявление выше в файл C с пустымmain
функция, и она скомпилирована с использованиемi686-apple-darwin9-gcc-4.0.1
, Итак, в то время как эти видыenum
s могут не соответствовать стандарту C (как Параппа указывает ниже), они по крайней мере компилируются внесколько введите gcc.
Итак, что это за тип, и как я могу использовать его, например, в строке формата?