C++相談室 part99
■ このスレッドは過去ログ倉庫に格納されています
0877デフォルトの名無しさん
2013/04/03(水) 07:54:33.44別のファイルにおいて前方参照する方法について質問です。
class.h と class.cpp と use.cpp の3つのファイルがあります。
class.h ではクラスを宣言しており、private メンバとして、
std::map <int, const char *> 型の変数を宣言しています。
この変数は、クラス内でデータを管理するためにだけに使います。
class.cpp には class.h で宣言したクラスの定義が書かれています。
use.cpp では class.h ファイルを include し、そのクラスを利用しています。
class.h で宣言した変数の map 型を直接使うことはありません。
class.cpp では std::map <int, const char *> 型のメンバ関数を使うので、
map ファイルを include しています。
一方 use.cpp では直接使うことはないので map ファイルは include しません。
しかし、使わなくても use.cpp で include した class.h では
std::map <int, const char *> の記述があるので未定義エラーを起します。
そこで、class.hpp 内のクラス宣言の前に前方参照をしておきたいのですが、
どのように書けば良いのでしょうか。
普通のクラスを前方参照するなら、単に class ClassName; と書けば良いのですが・・・
■ このスレッドは過去ログ倉庫に格納されています