define是否不能用在除法中呢?

老崔涮肉坊 2017-09-14 01:59:55
         
#define verticalTime 825
#define acrossTime 500
bool ps_flag = ture;
int yizhuang=0, total=0;
if((ps_flag == true) && (!PS_Pin)){
timing = time.restart();
ps_flag = false;
if(!timing==verticalTime){
if((!timing==acrossTime)&&(timing<verticalTime)){
if((timing%verticalTime)==0){ //用define verticalTime 这里和下一行会报错但是用int verticalTime = 825这两个错误就没有了。请问为什么
int x=timing/verticalTime;
yizhuang+=x;
total+=x;
}
}
else{
yizhuang++;
total++;
}
}
else{
yizhuang++;
total++;
}
}

这是出错的代码是否是因为define不能用在除法中呢?
...全文
435 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
老崔涮肉坊 2017-09-19
  • 打赏
  • 举报
回复
引用 10 楼 zhao4zhong1 的回复:
理解讨论之前请先学会如何观察! VC编译选项加/EP /P(项目、属性、配置属性、C/C++、预处理器、预处理到文件:是,预处理取消显示行号:是),重新编译,查看宏展开后对应的.i文件。gcc加-E http://bbs.csdn.net/topics/391003898
谢谢
老崔涮肉坊 2017-09-15
  • 打赏
  • 举报
回复
引用 4 楼 max_min_ 的回复:
谢谢
老崔涮肉坊 2017-09-15
  • 打赏
  • 举报
回复
引用 5 楼 paschen 的回复:
define可以在除法中使用 (!timing == acrossTime) 应改为:!(timing == acrossTime)
timing是int型,用define定义在判断中(!(timing == acrossTime))会提示错误,写成(timing != acrossTime) 则不提示错误
老崔涮肉坊 2017-09-15
  • 打赏
  • 举报
回复



引用 6 楼 zjq9931 的回复:
!timing==verticalTime
timing%verticalTime
你的timing是什么类型的?
如果第一句是判断两个不相等应当用timing!=verticalTime

谢谢指导,expected token “)” got “;” 错误的地方全显示让我在)后面加分号,我感觉没错啊,把define换成int全局变量就没事了这是为什么?
  • 打赏
  • 举报
回复
!timing==verticalTime timing%verticalTime 你的timing是什么类型的? 如果第一句是判断两个不相等应当用timing!=verticalTime
赵4老师 2017-09-15
  • 打赏
  • 举报
回复
理解讨论之前请先学会如何观察! VC编译选项加/EP /P(项目、属性、配置属性、C/C++、预处理器、预处理到文件:是,预处理取消显示行号:是),重新编译,查看宏展开后对应的.i文件。gcc加-E http://bbs.csdn.net/topics/391003898
paschen 版主 2017-09-15
  • 打赏
  • 举报
回复
define可以在除法中使用 (!timing == acrossTime) 应改为:!(timing == acrossTime)
max_min_ 2017-09-14
  • 打赏
  • 举报
回复
lilimite 2017-09-14
  • 打赏
  • 举报
回复
你好像单词写错了。。true
xiaohuh421 2017-09-14
  • 打赏
  • 举报
回复
宏就是代码替换而以, 你把它想成是 编译时, 自动对代码进行了一次replace操作. 就类似于你自己进行查找替换一样.
www_adintr_com 2017-09-14
  • 打赏
  • 举报
回复
bool ps_flag = ture; ==> bool ps_flag = true; define 当然可以用在除法中

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧