typedef行上的'预期标识符'错误:

时间:2015-01-18 12:12:37

标签: ios objective-c xcode enums typedef

我有这段代码:

#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`;

这里有什么问题?

2 个答案:

答案 0 :(得分:1)

使用: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
};

答案 1 :(得分:0)

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

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