コンパイラの警告 (レベル 4) C4062
列挙型 'enumeration' を切り替えた列挙子 'identifier' はハンドルされません
列挙子 identifier は、switch ステートメントで case ハンドラーが関連付けられておらず、それをキャッチできる default ラベルもありません。 見つからないケースは見落としである可能性があり、コードの潜在的なエラーです。 default のケースを持たない switch ステートメントの未使用の列挙子に関連する警告については、C4061 を参照してください。
既定では、この警告はオフに設定されています。 既定でオフになっている警告を有効にする方法は、既定でオフのコンパイラ警告を参照してください。
例
次の例では C4062 を生成し、その修正方法を示しています。
// C4062.cpp
// compile with: /EHsc /W4
#pragma warning(default : 4062)
enum E { a, b, c };
void func ( E e ) {
switch(e) {
case a:
case b:
// case c: // to fix, uncomment this line
break; // no default label
} // C4062, enumerator 'c' not handled
}
int main() {
}