『再定義されています・・・』エラーが出ます。 – プログラミング – Home

『再定義されています・・・』エラーが出...
 
通知
すべてクリア

[解決済] 『再定義されています・・・』エラーが出ます。


久島
 久島
(@久島)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

共通の型をcommon.hというファイルを作って、定義しました。
この型の変数を各ヘッダファイルで宣言したいので、各ヘッダ
ファイルでインクルードしたところ、その型が再定義されたという
エラーが出ました。
こんな型です。
typedef struct {
int num;
char name[100];
} MEMBER;

どうすればエラーが出ないようにできますか?

環境はMFCv6/Windows2000です


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

インクルードガードすればよいです。

ヘッダファイルの先頭に
#ifndef COMMON_H_
#define COMMON_H_
を,末尾に
#endif
を追加します。
#COMMON_H_は自由に変更可能。

こうすれば,各翻訳単位で最初の一回以外はcommon.hを読んでも,
読み飛ばしてくれるので,
多重定義は起きません。

また,コンパイラによりますが,
#pragma once
のみで済む場合もあります。
#VC++では可能。


返信引用
久島
 久島
(@久島)
ゲスト
結合: 22年前
投稿: 11
Topic starter  

#pragma onceを使ってできました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました