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

C++ 返回带有模板化类的类成员结构,c++,class,struct,g++,C++,Class,Struct,G++,我试图创建一个函数,该函数从模板类返回一个类定义的结构。g++给出错误消息error:在“*”标记之前需要构造函数、析构函数或类型转换。以下是相关代码: 从BSTDict.cpp: Node*& BSTDict<T, Compare>::add_helper(Node*& r, T key) { ... } 我已经做了很多测试,我认为问题在于节点(不管引用和指针如何)。我也尝试了BSTDict::Node*&BSTDict::add_helper(Node*&r,T

我试图创建一个函数,该函数从模板类返回一个类定义的结构。g++给出错误消息
error:在“*”标记之前需要构造函数、析构函数或类型转换
。以下是相关代码:

从BSTDict.cpp:

Node*& BSTDict<T, Compare>::add_helper(Node*& r, T key) { ... }
我已经做了很多测试,我认为问题在于节点(不管引用和指针如何)。我也尝试了
BSTDict::Node*&BSTDict::add_helper(Node*&r,T key){…}
。任何帮助都将不胜感激。谢谢

编辑:这里是和。它们是更大程序的一部分。

模板
template <typename T, typename Compare>
    typename BSTDict<T, Compare>::Node*& 
    BSTDict<T, Compare>::add_helper(Node*& r, T key) 
    { 
       // ... 
    }
typename BSTDict::Node*& BSTDict::添加辅助对象(节点*&r,T键) { // ... }

我不确定那里是否需要
/*typename*/
。我必须看更多你的代码(我已经编写了
模板
限定符msyefl:)

没有像“模板化类”这样的东西;它叫做“类模板”。“成员结构”是一种“嵌套类型”。谢谢各位,我知道我会弄错术语。谢谢你们,添加了(未注释的)
typename
完成了!无论如何,我已经用完整文件的链接更新了我的帖子。
template <typename T, typename Compare>
    typename BSTDict<T, Compare>::Node*& 
    BSTDict<T, Compare>::add_helper(Node*& r, T key) 
    { 
       // ... 
    }