"error C2046: 'case' が正しくありません" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2046: 'case' が正しくありません。

ソース(バグ有り):

//switch case のサンプル
#include <stdio.h>

int main()
{
int a=1;
{ case 1:
printf("aは1です。\n");
break; default: printf("aは1ではありません。\n"); } }


原因:
case の使用法に誤りがあります。

switch〜case〜break の構文に誤りがある可能性があります。

対処:
構文を見直します。
switch(式)

{

case <定数式1>:

・・・<文>・・・
  break;

case <定数式2>:

・・・<文>・・・
  break;

default:

・・・<文>・・・

}

この例では switch が抜けていました。


ソース(修正済み):

//switch case のサンプル
#include <stdio.h>

int main()
{
int a=1; switch(a)
{ case 1:
printf("aは1です。\n");
break; default: printf("aは1ではありません。\n"); } }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]