我想写一些类似下面的东西......
bool hasAnyInvalid = false;
hasAnyInvalid |= IsValidType1(...);
hasAnyInvalid |= IsValidType2(...);
hasAnyInvalid |= IsValidType3(...);
hasAnyInvalid |= IsValidType4(...);
if (hasAnyInvalid){ return false; }
据我所知,以上将失败,因为 true | 真就是假。
如何使用一个布尔变量来测试多个函数是否为假?
我需要评估每个 IsValidType 函数。所以我不能把它短路。
基本上,我想要一个逻辑门,一旦它变为真,它就会保持真实。我似乎记得过去在 C++ 中使用 HRESULT 返回执行此操作,但我们可能只是将严重性的整数值相加。
我对解决这个问题的其他方法持开放态度。
编辑:我对这个问题的措辞很糟糕,并且包括了一些逻辑混乱(我的意思是把它写成 XOR )。我将把我原来的问题留在上面,因为人们特别评论了它,我讨厌改变历史。