我收到一个我不明白的错误。甚至在我发现的问题上也有类似的问题,但是我的代码中已经提供了修复。
我在这一行收到错误:
ForestNode<NODETYPE> foo = new ForestNode<NODETYPE> ForestNode(bar);
的内容如下:
\ project 4 \ forest.h | 85 | error:expected','或';'在'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;
};
有什么想法吗?
答案 0 :(得分:1)
在构造函数调用中有两次类型名称,请尝试:
ForestNode<NODETYPE> foo = new ForestNode<NODETYPE>(bar);
答案 1 :(得分:1)
除了在一行上有2个构造函数之外,你不能将指针分配给变量。你要么必须这样做:
ForestNode * foo = new ForestNode;
或者这样做:
ForestNode<NODETYPE> foo;
或者这个:
ForestNode<NODETYPE> bar;
ForestNode<NODETYPE> foo( bar );