コンパイラの警告 (レベル 4、オフ) C4061
enum
'enumeration' の switch 中の列挙子 'identifier' はcase
ラベルによって明示的にハンドルされません
指定された列挙子 identifier は、default
ケースを持つ switch
ステートメントの中で、関連するハンドラーを持っていません。 不足しているケースは、見落としか、または問題ではない可能性があります。 不足している case
が実際に問題であるかどうかは、既定の case が列挙子を処理するかどうかによって異なります。 default
のケースを持たない switch
ステートメントの未使用の列挙子に関連する警告については、C4062 を参照してください。
既定では、この警告はオフに設定されています。 既定でオフになっている警告を有効にする方法については、「既定で無効になっているコンパイラ警告」を参照してください。
例
次のサンプルでは C4061 が生成されます。不足している列挙子のケースを追加して修正します:
// C4061.cpp
// compile with: /W4
#pragma warning(default : 4061)
enum E { a, b, c };
void func ( E e )
{
switch(e)
{
case a:
case b:
default:
break;
} // C4061 c' not handled
}