'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 的参数,显然这两个参数之间存在某种冲突。
我有这段代码:
#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 的参数,显然这两个参数之间存在某种冲突。