为啥是这样的结果呢? 这是来自effective c++上的例子,同样的宏,为啥一个执行两次自加,一个一次未执行。
关于#c++#的问题:define宏定义
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Air Mind 2021-08-05 07:45关注
m和n你在参数里根本没有使用,两次用的都是a和b,m和n当然不会自加。
对于自加两次是因为你在a和b的比较中少加了一个括号,使用以下形式即可。
#define CALL_WITH_MAX(a,b) (((a)>(b))?(a):(b))
解决 无用评论 打赏 举报
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画