我有一个由两个参数组成的二叉搜索树。我需要实现树中所有内容的广度优先列表,虽然我认为我理解我需要编写的内容,但我在语法方面遇到了一些麻烦。
#include <queue>
template <class T> class Node {};
template <class T> class Tree
{
Node<T> *root;
void foo()
{
std::queue<Node<T> > myqueue;
myqueue.push(root<T>); // error here
}
};
答案 0 :(得分:0)
在您的代码中,成员root
的类型为Node<T> *
。但您的队列myqueue
包含Node<T>
类型的元素。试试这个:
std::queue<Node<T> *> myqueue; // note the different type here
myqueue.push(root);