【初心者歓迎】C/C++室 Ver.5【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0490デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
#include "test.h"
int main()
{
X<double> x;
x.show();
return 0;
}
// ここまでmainファイル
上記の三つのファイルに対して
(1)これらをmake&コンパイルすると次のようなエラーが出る
Error: 外部シンボル 'X<double>::~X<double>()' が未解決
Error: 外部シンボル 'X<double>::X<double>(int)' が未解決
Error: 外部シンボル 'X<double>::show()' が未解決
(2)テンプレートにせずに具体的な型を指定(例えばint型の配列とする)
してやれば正常にmake&コンパイル出来る
(3)三つのファイルを一つにまとめてしまえば(もちろん余分な#include <…>は消して)
正常にコンパイル出来る
という状況です。(2),(3)から分割コンパイルにおけるテンプレートの文法のみが
おかしいのだとわかるのですが、どこを修正すれば良いのかわかりません。
どなたかご指導おねがいいたします。
■ このスレッドは過去ログ倉庫に格納されています