不思議な「error C2143: 構文エラー : '}' が '定数' の前にありません。」がやっと解決した

私の場合は NO_DATA が引っかかった.「すべての参照の検索」で WinSock.h 679行目で定義されていることが分かった.

#define NO_DATA                 WSANO_DATA

対策として,NO_DATA を記述する直前にこう記述した.

#ifdef NO_DATA
	// WinSock.h 679 行で定義されている可能性がある.ここで undef する
#undef NO_DATA
#endif

361 :デフォルトの名無しさん:2009/03/11(水) 00:53:32
Visual C++2005

で、ヘッダファイルに以下のように記述したところ
コンパイルエラーが出ました。
記述しているのはファイルの10行目です。

    typedef enum {FALSE, TRUE} Boolean;

エラー内容

    sub.h(10) : error C2143: 構文エラー : '}' が '定数' の前にありません。
    sub.h(10) : error C2143: 構文エラー : ';' が '}' の前にありません。
    sub.h(10) : error C2059: 構文エラー : '}'

何が間違っているのでしょうか?
よろしくお願いします。

362 :デフォルトの名無しさん:2009/03/11(水) 00:58:56
>>361
たぶん、どっかに

    #defnie FALSE 0
    #defnie TRUE 1

と定義されている

363 :デフォルトの名無しさん:2009/03/11(水) 01:04:26
>>何が間違っているのでしょうか?
今更真偽値を自分で定義しようとしていること。

364 :361:2009/03/11(水) 01:38:47
>>362-363
大変よくわかりました
解決しました。ありがとうございます。

C言語なら俺に聞け(入門篇) Part 46 361-364