'Expected Identifier' typedef 行错误:

'Expected Identifier' error on typedef line:

我有这段代码:

#import <Foundation/Foundation.h>
@class Completions;

typedef enum inputSource { KEY_TYPE = 0, WORD_SELECTION = 1, MOVEMENT = 3, BACKSPACE = 4 } InputSource;
...

出于某种原因,我在行中收到错误消息:

`typedef enum inputSource { KEY_TYPE = 0, WORD_SELECTION = 1, MOVEMENT = 3, BACKSPACE = 4 } InputSource`;

这里有什么问题?

使用:typedef enum { KEY_TYPE = 0, WORD_SELECTION = 1, MOVEMENT = 3, BACKSPACE = 4 } InputSource;

你不需要inputSource

或者更好,使用新的 Objective-C 样式:

typedef NS_ENUM(NSInteger, InputSource) {
    KEY_TYPE = 0,
    WORD_SELECTION = 1,
    MOVEMENT = 3,
    BACKSPACE = 4
};

问题的原因是 xcode 开发人员库中的 iPhoneSimulator.platform 文件夹是我项目的一部分。

此项目中有一个名为 BACKSPACE 的参数,显然这两个参数之间存在某种冲突。