以下のようなものを書きたいと思います....
bool hasAnyInvalid = false;
hasAnyInvalid |= IsValidType1(...);
hasAnyInvalid |= IsValidType2(...);
hasAnyInvalid |= IsValidType3(...);
hasAnyInvalid |= IsValidType4(...);
if (hasAnyInvalid){ return false; }
私が知る限り、上記は失敗します。真は偽です。
1 つのブール変数を使用して、複数の関数の false をテストするにはどうすればよいですか?
各 IsValidType 関数を評価する必要があります。だから短絡できない。
基本的には、一度真になると真のままである論理ゲートが必要です。過去に C++ で HRESULT リターンを使用してこれを行ったことを思い出すようですが、重大度の整数値を単純に加算していた可能性があります。
私はこれを解決する他の方法を受け入れています。
EDIT:私はこの質問をうまく表現せず、いくつかの論理的なスナフスを含めました(これを XOR として書くつもりでした)。人々が具体的にコメントしたため、元の質問を上記に残しておきます。また、歴史を変更するのは嫌いです。