「multiple default labels in one switch」というエラーメッセージは、switch文内に複数のdefaultラベルが存在する場合に表示されます。これは、switch文は、条件に応じた処理を行うための文です。そのため、switch文内には、case文で処理する条件と、それ以外を処理するdefault文を1つだけ書く必要があります。
例えば、次のようなコードでは、switch文内に複数のdefault文が存在するため、このようなエラーが表示されます。
int main() { int x = 1; switch (x) { case 1: // 処理1 break; case 2: // 処理2 break; default: // default処理1 break; default: // default処理2 break; // エラー: 複数のdefault文が存在します } return 0; }
正しい使い方は、次のようにswitch文内に1つだけdefault文を書くことです。
int main() { int x = 1; switch (x) { case 1: // 処理1 break; case 2: // 処理2 break; default: // default処理 break; // 正しい使い方: default文が1つだけ存在します } return 0; }
また、default文は、switch文内で処理されなかった条件を処理するための文です。例えば、次のようなコードでは、xが1または2以外の値の場合、default文が実行されます。
int main() { int x = 1; switch (x) { case 1: // 処理1 break; case 2: // 処理2 break; default: // xが1または2以外の値の場合、ここが実行されます break; } return 0; }
コメント