"C1017: 整数定数式が無効です" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
fatal error C1017: 整数定数式が無効です。

ソース(バグ有り):

#include <stdio.h>

int main()
{
#define TEST "1"
#if TEST
int debug=1;
#endif }


原因:
#define で式が評価できません。#defineで数値ではなく文字列が与えられています。

対処:
この例では TEST マクロに 文字列の"1" ではなく数値の1を定義します。

これにより #if ディレクティブで評価することが可能となります。


ソース(修正済み):

#include <stdio.h>

int main()
{
#define TEST 1
#if TEST
int debug=1;
#endif }

スポンサード リンク



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