- C++相談室 part114
68 :デフォルトの名無しさん[]:2014/09/02(火) 14:57:29.12 ID:GSaV/2XZ - c++のtemplateがよく分からないので質問。
templateなクラスを以下のように実装してます。 - ヘッダにtemplateなクラスを定義、メソッドはプロトタイプのみ。 - メソッドをcppファイルに定義 このクラスを別のファイルから利用するとメソッドが未定義になり困ってます (g++ *.cpp でリンクエラー)。どうやら各ファイルのオブジェクト生成時に templateなクラスが上手く展開されないようです。 以下再現のコードです。 http://www1.axfc.net/u/3311017 DL pass: cpptemplate make allで未定の問題が再現します。 make whyで無理やりtemplateなクラスを展開してます (template クラスのメソッドを定義したcppファイルに、クラスを使用するコードを追加)。 以下、質問です。 STL等のtemplateなクラスを提供するライブラリではどうしてるのでしょうか? (ユーザが使用するtemplateなクラスはヘッダファイルのみで完結?) それともtemplateなクラスを展開させる良い方法があるのでしょうか?
|