为什么这段代码在VS中编译? (&ndquo; extra”逗号)
下面的行在for循环中。如果方法失败,则需要中断。 CATEGORY_1是一个枚举。我将此枚举添加为AddToList方法的新参数,并带有默认值。如果你仔细看下面,我实际上错误地把逗号和枚举放在函数的参数列表之外。这与VS2010完美匹配。所以我很难找到为该参数而不是CATEGORY_1传递的默认值。
有谁知道为什么这成功了?
if (! AddToList(obj1, (unsigned int) Val), CATEGORY_1)
{
break;
}
没有找到相关结果
已邀请:
2 个回复
苦诫
[当然,逗号运算符与大多数其他运算符一样,可以重载,如果在这里使用重载,则语义可能不同。这是内置逗号运算符的行为。]
诞胃
那么
永远不会评估;相反,如果
那么
总会评估。在任何情况下,返回的是什么都不重要。