これは私の瞬間に曲がっている。自家製の練習として、私はクラス内で再帰呼び出しをテンプレート化したかったのです。私が持っている.hファイルに:テンプレート再帰関数の構文は何ですか?
template <typename T1>
class BinaryTree
{
public:
BinaryTree(T1 element);
~BinaryTree();
BinaryTree* addLeftLeaf(BinaryTree<T1>* node);
等...
はその後の.cpp
template <typename T1> BinaryTree* BinaryTree<T1>::addLeftLeaf(BinaryTree<T1>* node)
{
return node;
}
に私は一見の考えの負荷が、これまで何を試してみました。エラーC2955のようなエラーだけです: 'BinaryTree':クラステンプレートの使用にはテンプレート引数リストが必要です
ご意見をいただければ幸いです。
おかげ
あなたはそれが.hファイルにしておく必要があり、.cppファイルにテンプレート関数の定義を持つことができませんマーク
エラーは、戻り値の型はテンプレート化されていません。しかし、テンプレートコード(一般的に)はヘッダファイル内にある必要があります。だから、クラス定義の中に全体を入れて、問題はなくなります。 –