- ベストアンサー
構造体(study c)
現在、study cというものを使ってプログラミングをしているのですが、 どうしてもエラーの原因が分からないので質問させて頂きます。 #include <graph.h> struct blocks_info { bool enable; RECT bounds; }; main() { ・・・//省略 } このようにプログラムしているのですが、コンパイルすると、構造体の部分のbool enable;の行で、 この場所には;が必要です。とエラーが出ます。 ためしにbool enable;を消してコンパイルしてみると、今度は RECT bounds;の行で同じエラーが出ました。 その部分も消すと、};の行でまた同じエラーが出ました。 どなたかエラーの原因が分かる方いらっしゃいましたらご教授下さい。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ダウンロードしてgraph.h見てみましたがboolもRECTも定義されてないようです。 typedef int bool; typedef struct tagRECT { int left; int top; int right; int bottom; } RECT; をstruct blocks_infoの前に書けばエラーはなくなると思います (RECT構造体は一般的なやつですが質問者さんのプログラムに当てはまるかはわかりません)
その他の回答 (1)
- bluecampus
- ベストアンサー率66% (138/209)
>boolは一般的だと思っていたので C言語ではなくC++であれば定義されています。 C99以降であれば_Boolがそれと同等な扱いになりますけど。 (VC++系はC99に完全に準拠していない)
お礼
回答ありがとうございます。 おっしゃられた通り、C++ではboolを使用しても問題ありませんでした。 _Boolも覚えておきます。
お礼
わざわざダウンロードまでして頂きありがとうございます。 boolもRECTも定義されていなかったのですね。 RECTはともかくboolは一般的だと思っていたので定義されているものだと思っていました。 書いて頂いた定義文を挿入してもう一度チャレンジしてみます。 本当にありがとうございました。