"C2050: switch 式の結果は、整数値になりませんでした" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2050: 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"); } }


原因:
switch(<評価式>)に関して、<評価式>の結果が整数ではありまえんでした。

この例では switch の中身が "a" であり、コンパイルエラーとなります。

対処:
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"); } }

スポンサード リンク



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