我收到一个我不明白的错误。我发现在SO上甚至有一个类似的问题,但是给出的解决方案已经在我的代码中。

我在这行出现错误:

ForestNode<NODETYPE> foo = new ForestNode<NODETYPE> ForestNode(bar);

内容为:

\ project 4 \ forest.h | 85 |错误:预期为','或';'在“ForestNode”之前

我的类forestnode的定义如下:
template<typename NODETYPE> class Forest;

template<typename NODETYPE> class ForestNode
{
    friend class Forest<NODETYPE>;

    public:
        ForestNode( const NODETYPE &);
        ~ForestNode();
        NODETYPE getTag() const;
    private:
        NODETYPE tag;
        ForestNode<NODETYPE> *leftChild;
        ForestNode<NODETYPE> *sibling;
};

有任何想法吗?

最佳答案

您在构造函数调用中有两次类型名称,请尝试:

ForestNode<NODETYPE> foo = new ForestNode<NODETYPE>(bar);

关于c++ - 实例化模板类时出现奇怪的错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4057320/

10-08 22:08