我正在尝试创建一个从模板化类返回类定义结构的函数。 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);
我做了很多测试,我认为问题在于Node(无论参考和指针如何)。我也试过了BSTDict<T, Compare>::Node*& BSTDict<T, Compare>::add_helper(Node*& r, T key) { ... }
。任何帮助,将不胜感激。感谢。
修改:此处为BSTDict.hpp和BSTDict.cpp。它们是更大计划的一部分。
答案 0 :(得分:2)
template <typename T, typename Compare>
typename BSTDict<T, Compare>::Node*&
BSTDict<T, Compare>::add_helper(Node*& r, T key)
{
// ...
}
我不确定那里是否需要/*typename*/
。我必须看到更多你的代码(我必须已经完成template<>
限定符msyefl:))