gpt4 book ai didi

c++ - 从模板类继承的类的正确声明

转载 作者:太空狗 更新时间:2023-10-29 23:31:03 24 4
gpt4 key购买 nike

我对如何正确声明从模板类继承的类感到有点困惑。

基类看起来像这样(不包括不相关的位):

template <class Writer>
class Node
{
Writer* writer;
...
public:
Node (std::string& root);
...
}

声明和构造继承类的正确方法是什么?我想是这样的:

template <class Writer>
class IndexNode : public Node
{...}

但是,这样做会给我“'{' 标记前的预期类名”。我试过把继承类中的模板声明注释掉,想着也许模板声明本身是继承自父类的,但也没用,也试过了

class IndexNode : template <class Writer> public Node
{...}

,认为模板可能必须显式附加到基类。我想与其继续尝试正确的组合,不如寻求帮助,希望能学到一些能让我理解其中原因的东西。

谢谢!

最佳答案

你的派生类也是模板吗?

是:

template <class Writer>
class IndexNode : public Node<Writer>
{
//...
}

否:

class IndexNode : public Node<SomeClassThatSpecializezNode>
{
//...
}

关于c++ - 从模板类继承的类的正确声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9890084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com