返回结构的方法的正确语法是什么?

时间:2018-03-05 07:36:15

标签: c++ class syntax

有人可以帮助我了解如何使用此方法吗?

// At .h file
template<typename T>
class BTree {
public:
    ...
private:
    struct Node {
        T element;
        Node* left, right;
    };
    Node* root;
    Node* getNode();
    ...
};

// At .cpp file
template<typename T>
BTree<T>::BTree() {
   ...
}
// I am stuck on how I would get the getNode() method to work
// I know it's along the lines of...
template<typename T>
BTree::Node* BTree<T>::getNode() {
    ...
}

我不断收到编译错误。有没有正确的方法呢?

编辑:我的错误。我忘了将<T>放在.cpp文件

1 个答案:

答案 0 :(得分:0)

您不应该在header / cpp文件中拆分模板内容。这是行不通的,因为你需要编译所有T已知的cpp文件。所以这里只需编写标题代码。

返回类型&#34;指向嵌套类的指针&#34;在声明之前需要oc rollback backend,因为它本身有一个模板参数。

typename