谁能帮助我了解这条线的含义?

我知道这是一种宏结构,但是代码中有什么建议呢?

#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/

10-12 22:00