小编Joh*_*n K的帖子

简单的宏导致编译错误

我正在尝试定义一个宏,它允许我传入2个数字以及一个运算符.我希望宏对两个数字执行指定的操作并返回结果.

我的定义是:

#define GENERAL_OP(x,y,op) ((x) op (y))
Run Code Online (Sandbox Code Playgroud)

我打电话时工作正常

int result = GENERAL_OP(1, 2, -);
Run Code Online (Sandbox Code Playgroud)

但是一旦我尝试传递一个字符(这是我在调用宏的通用函数中实际需要做的事情),如下例所示:

void Evaluate(char op)...

int result = GENERAL_OP(1, 2, op);
Run Code Online (Sandbox Code Playgroud)

c macros compiler-errors

3
推荐指数
1
解决办法
188
查看次数

标签 统计

c ×1

compiler-errors ×1

macros ×1