用于确保 宏无论怎样都能正确运行
错误1
#define f \
do();\
do();\
当使用如下方式使用宏将不会以想要的方式运行
// 编写时
if(condition)
f;
// 宏展开后
if(condition)
do();
do();
错误2
#define f { do(); do();}
当使用时出现如下情况也会出错
// 使用时
if(condition)
f;
else
do();
// 宏展开后
if(condition)
{
do();
do();
}; // 此处 `;` 引起语法错误
else
do();
本文分析了C/C++中宏定义的两个常见错误:#define导致的嵌套执行问题和花括号引起的语法错误,强调了正确处理条件语句的重要性。
1万+

被折叠的 条评论
为什么被折叠?



