テンプレート化されたクラスからクラス定義の構造体を返す関数を作成しようとしています。g++はエラーメッセージを出しますerror: expected constructor, destructor, or type conversion before ‘*’ token
。関連するコードは次のとおりです。
BSTDict.cppから:
Node*& BSTDict<T, Compare>::add_helper(Node*& r, T key) { ... }
BSTDict.hppから:
struct Node {
T key;
T data;
Node* left;
Node* right;
};
...
Node*& add_helper(Node*& r, T key);
私は多くのテストを行いましたが、問題はノードにあると思います(参照とポインターに関係なく)。私もやってみBSTDict<T, Compare>::Node*& BSTDict<T, Compare>::add_helper(Node*& r, T key) { ... }
ました。どんな助けでもいただければ幸いです。ありがとう。
編集:ここにBSTDict.hppとBSTDict.cppがあります。それらはより大きなプログラムの一部です。