gpt4 book ai didi

iphone - iPad 中的宏问题 (#define) "showing Expected identifier before numeric constant"错误

转载 作者:行者123 更新时间:2023-12-03 18:39:03 27 4
gpt4 key购买 nike

我正在开发一个应用程序,我需要定义多个常量,这些常量将在多个类中使用。我已在一个 .h 文件中定义了所有常量(例如“constants.h”),并将该文件导入到 myAppName_Prefix 中.pch 文件位于项目的“其他源”文件夹中。使用这些常量的类正在编译时没有任何错误,但我声明了一些 UISwipeGestureRecognizers 的其他类抛出错误为“数字常量之前的预期标识符 ”这是显示错误的类之一的代码片段:

if (gesture.direction==UISwipeGestureRecognizerDirectionLeft)

我将常量定义为:

#define heading 1
#define direction 2
#define statement 3
#define refLink 4
#define correctResponse 5
#define incorrect1Response 6

如果我在每个类中单独定义它们,那么一切都工作正常。任何人都可以建议我一种解决此问题的方法。

最佳答案

预处理代码后

if (gesture.direction==UISwipeGestureRecognizerDirectionLeft)

看起来像这样

if (gesture. 2==UISwipeGestureRecognizerDirectionLeft) 

这显然不是有效的代码。

解决方案是在 #defines 前面放置一个唯一的命名空间字符串。

#define hariDirection 2

#define kDirection 2
<小时/>

或者恕我直言,最好的解决方案:不要使用#define

typedef enum {
heading = 1,
direction,
statement,
refLink,
correctResponse,
incorrect1Response,
} MyDirection;

这会做同样的事情,但不会与其他方法和变量名称冲突。

关于iphone - iPad 中的宏问题 (#define) "showing Expected identifier before numeric constant"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5419406/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com