通知
すべてクリア
Topic starter
2003年7月10日 1:27 AM
共通の型をcommon.hというファイルを作って、定義しました。
この型の変数を各ヘッダファイルで宣言したいので、各ヘッダ
ファイルでインクルードしたところ、その型が再定義されたという
エラーが出ました。
こんな型です。
typedef struct {
int num;
char name[100];
} MEMBER;
どうすればエラーが出ないようにできますか?
環境はMFCv6/Windows2000です
2003年7月10日 2:00 AM
インクルードガードすればよいです。
ヘッダファイルの先頭に
#ifndef COMMON_H_
#define COMMON_H_
を,末尾に
#endif
を追加します。
#COMMON_H_は自由に変更可能。
こうすれば,各翻訳単位で最初の一回以外はcommon.hを読んでも,
読み飛ばしてくれるので,
多重定義は起きません。
また,コンパイラによりますが,
#pragma once
のみで済む場合もあります。
#VC++では可能。
Topic starter
2003年7月11日 1:08 AM
#pragma onceを使ってできました。
ありがとうございました。