谁能帮助我了解这条线的含义?
我知道这是一种宏结构,但是代码中有什么建议呢?
#define ReturnErr(fCall) if (iErr = (fCall), (iErr != NO_ERRORS)) {return iErr;}
最佳答案
宏是文本替换。例如,这意味着如果有人写作,
ReturnErr(x)
那么他们的代码将被处理为:
if ( iErr = (x), (iErr != NO_ERRORS) )
{
return iErr;
}
这是一种不好的风格,但是他们可能希望在发生故障时返回其函数,并节省一些键入操作,以便在需要检查错误代码的每一点复制该代码。
关于c++ - 无法理解是否在#define中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22861253/