"error C2108: 添字に整数でない型が使われました" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2108: 添字に整数でない型が使われました。

ソース(バグ有り):

//引数の一覧を取得する

#include <stdio.h>
int main(int argc, char **argv)
{
		 printf("argc = %d\n", argc);
	 for (float i=0; i<argc; i++) 
		  printf("arg[%d] = \"%s\"\n", i, argv[i]);
}


原因:
配列の添え字に整数型ではない値が指定されました。

この例では配列に float型が指定されています。

argv[ float型 ]);

対処:
配列の添え字に整数が使用されていることを確認します。



ソース(修正済み):

//引数の一覧を取得する

#include <stdio.h>
int main(int argc, char **argv)
{
		 printf("argc = %d\n", argc);
	 for (int i=0; i<argc; i++) 
		  printf("arg[%d] = \"%s\"\n", i, argv[i]);
}

スポンサード リンク



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