「みんな教えて! 選手権!!」開催のお知らせ

現在C言語でプログラムを作成しています.
シリアル通信を行うプログラムなのですが,エラーが出てしまい,
ネットなどで検索してみたのですが,解決できませんでしたので,ご存知の方がいましたら,教えてください.
エラーは以下のとおりです.

[test.h]
#ifndef INCLUDED_TEST_H
#define INCLUDED_TEST_H

HANDLE handle;

HANDLE sirial(char ,char);

void sirial_(HANDLE);

#endif

上の用にヘッダファイルを作成し,グローバル変数の宣言・プロトタイプ宣言を行おうとすると型がHANDLEのところでエラーが出てしまいます.
main関数と同じファイル内で宣言,定義した場合はエラーはでません.
ヘッダファイルのように別ファイルに宣言するとエラーとなってしまうのです.

環境は
Windows XP SP2
visual studio .net
です.

よろしくお願いします.

A 回答 (1件)

HANDLEはC言語の範囲内にはないから当然に宣言が必要ですよ。


通常はwindows.hの中で宣言していると思うので、test.hでwindows.hをインクルードするか、使う.cファイルの中でwindows.hをインクルードした後でtest.hをインクルードして下さい。
    • good
    • 0
この回答へのお礼

回答ありがとうございます.
ヘッダファイルの中でwindows.hをインクルードしたら無事コンパイルできました.
結構長い時間悩んでいたのでとても助かりました.
本当にありがとうございました.
今後ともよろしくお願いします.

お礼日時:2005/08/29 19:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報