小编j4n*_*olo的帖子

如何从#define中删除C风格的强制转换,以便我可以在预处理器#if中使用它?

我想使用以下预处理器定义:

[第三方标题(不能修改)]

#define SWCI_VERSION_MAJOR              (unsigned char) 4
#define SWCI_VERSION_MINOR              (unsigned char) 16
Run Code Online (Sandbox Code Playgroud)

当他们以这种方式进行比较时:

[我的实施]

#if SWCI_VERSION_MAJOR >= 4 && SWCI_VERSION_MINOR >= 16
Run Code Online (Sandbox Code Playgroud)

然后我得到:

致命错误C1017:无效的整数常量表达式

我注意到如果我在没有(unsigned char)的情况下定义它们,那么该指令将被接受,但我无法访问这些定义,所以如果可能的话我想解决这个问题.

c++ preprocessor-directive

10
推荐指数
1
解决办法
666
查看次数

标签 统计

c++ ×1

preprocessor-directive ×1