【初心者歓迎】C/C++室 Ver.29【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0468デフォルトの名無しさん
2006/07/30(日) 15:18:55template<class T> class ABC { 宣言 };
typedef ABC<long> ABC32;
としていて、
DEF.h で ABC32 のポインタだけを使用しているので、
ABC.h をインクルードせず、前方宣言だけで、
class ABC32;
void Func1(ABC32* abc);
とした。
次に、Func1 の実装をするために DEF.cpp で
#include "DEF.h"
#include "ABC.h"
void Func1(ABC32* abc) { 実装 }
としてコンパイルしたところ、コンパイラ (VC2003) が、
ABC32 を再定義した、というエラーを吐いた。
どうしたら意図どおりのことをできるでしょうか。
■ このスレッドは過去ログ倉庫に格納されています