码迷,mamicode.com
首页 > 其他好文 > 详细

宏定义 中 do{}while() 语句的作用

时间:2015-09-30 01:17:30      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

考虑以下情形:

 #define func(type, x, y) 

int a = 1;

int b = 2

if (a > b)

    func(int, a, b);

else{type tmp = x; x = y; y = tmp;}

    std::cout<<"Hello, World!"<<std::endl;


这种情况下, func 被调用的时候,语句的末尾有个分号。编译预处理以后会变成如下情况:

int a = 1;

int b = 2

if (a > b)

    {type tmp = x; x = y; y = tmp;};

else

    std::cout<<"Hello, World!"<<std::endl;

编译时会报错


参考链接:http://www.cnblogs.com/bastard/archive/2011/11/24/2262195.html


宏定义 中 do{}while() 语句的作用

标签:

原文地址:http://my.oschina.net/u/1176097/blog/512665

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!