インクルードファイルをインクルードする方法を教えてください。

[戻る]
KYOH 2001/06/02(土) 01:38:43
基本的な事で恐縮ですが、自分で作ったファイル[DDX.CPP]を
メインファイルにインクルードしようとビルドしたのですが、
[DDX.CPP]で「error C2146: 構文エラー : ';' が、識別子 'DDlnit' の前に必要です。」
というエラーがでました。
インクルードするには何か設定などが必要なのでしょうか?
それともこれは質問以前のエラーでしょうか?

ten_bun [E-Mail] 2001/06/02(土) 09:20:56
/////// Class_000.h ファイル/////// 
#if !defined(Class_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_) 
#define Class_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_ 

class Sample; 

class Sample 
{ 
public: 
   Sample(){} 
   ~Sample(){}

   void
   Hoge(); 
}; 

#endif 

/////// Class_000.cpp ファイル/////// 
#include "Class_000.h" 

void 
Sample::Hoge(){ 
 
} 

/////// Main.cpp ファイル/////// 
#include "Class_000.h" 

int 
main(void) 
{ 
   Sample   Hoge; 
} 

多重宣言によるコンパイルエラーと仮定して以上のようにしてみては。 
#if !defined(Class_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_) 
#define Class_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_ 
//ここに宣言する 
#endif 
で2重宣言をしないようにしている。 
ちなみに ”12345678_9ABC_DEF1_2345_6789ABCDEF01” は GuidGen.exe を使って作った 
GUID(グローバルユニーク識別子)。 
プロジェクト-->設定-->*.cppを選択反転-->一般-->このファイルをビルドしない のチェックを外す。 
 あと、VC++が用意するヘッダを見れば参考になる。

KYOH 2001/06/03(日) 21:41:21
ten_bunさん、ありがとうございます。
せっかく教えていただいたのですが、超初心者の私にはさっぱりでして・・・・・・・(-_-;
もうすこし勉強してから出なおさせてもらいます。
ten_bunさん、教えていただいたのに申し訳ありませんでした。

ten_bun [E-Mail] 2001/06/05(火) 07:42:32
/////// Func_000.h ファイル/////// 
//宣言子を記述するファイル
#if !defined(Func_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_) 
#define Func_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_ 

void
Func();

#endif 

/////// Func_000.cpp ファイル/////// 
//Func_000.hで宣言された宣言子を定義するファイル
#include "Func_000.h" 

void 
Func(){ 
//実際のコードをここに記述
} 

/////// Main.cpp ファイル/////// 
#include "Func_000.h" 

int 
main(void) 
{ 
   Func(); 
} 

以前と違うところは、例にクラスの記述を使わなかったところ。
これで、分からないとすれば。
#if !defined(Func_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_) 
#define Func_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_ 

#endif 

の部分でしょう。

#if,defined,#define,#endif等のキーワードでヘルプを参照してみて下さい。
Func_000_H__12345678_9ABC_DEF1_2345_6789ABCDEF01__INCLUDED_ は識別子
で、コンパイラが認識する変数みたいなものです。

あと、前にも断ったように、多重宣言によるコンパイルエラーと仮定しているんで
別の原因によるエラーだったら問題は解決しません。

KYOH 2001/06/14(木) 00:16:24
[[解決]]
おくればせながら解決しました。
ten_bunさんありがとうございます。
時間は掛かりましたが試行錯誤の結果解決しました。
これからも、どうかよろしくおねがいします。

古いスレッドには追加発言できません。