#include <iostream>
enum IsOptionAEnum
{
IsOptionA_YES,
IsOptionA_NO
};
enum IsOptionBEnum
{
IsOptionB_YES,
IsOptionB_NO
};
void TestFunc(IsOptionAEnum optionA, IsOptionBEnum optionB)
{
if (optionA == IsOptionA_YES || optionA == IsOptionB_YES) // typo
{
// ...
}
//if (optionA == IsOptionA_YES || optionB == IsOptionB_YES) // correct one
//{
//}
}
質問>optionA
はタイプIsOptionAEnum
であり、の値はありませんIsOptionB_YES
。VS2010のコンパイラがこのエラーを検出しないのはなぜですか?
コンパイラがエラーを見つけられない場合、コンパイラがエラーを見つけられるようにこの制限を適用する方法はありますか?