返回带有模板化类的类成员结构

时间:2013-03-11 23:53:55

标签: c++ class struct g++

我正在尝试创建一个从模板化类返回类定义结构的函数。 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.hppBSTDict.cpp。它们是更大计划的一部分。

1 个答案:

答案 0 :(得分:2)

template <typename T, typename Compare>
    typename BSTDict<T, Compare>::Node*& 
    BSTDict<T, Compare>::add_helper(Node*& r, T key) 
    { 
       // ... 
    }

我不确定那里是否需要/*typename*/。我必须看到更多你的代码(我必须已经完成template<>限定符msyefl:))