Хорошо, поэтому я пытаюсь использовать предоставленный мне файл шаблона, BTNode является частью этого шаблона. во всяком случае, я пытаюсь использовать очередь типа btnode для хранения указателей на узлах двоичного дерева поиска, затем передаю данные, которые указатель в queue.front() указывает на процесс f. затем я сохраняю указатели на дочерние элементы этого узла и выталкиваю родителя из очереди. затем повторите. по крайней мере, это то, что я пытаюсь сделать.C++ BF Поиск с использованием очереди указателей
Им просто не уверен, как это сделать, чтобы зафиксировать предупреждения и ошибки, которые они получают, и все они имеют отношение к очереди в некотором роде. Я не проталкиваю указатели в очередь? Как это исправить?
template <class Process, class BTNode>
void breadthfirst(Process f, BTNode* node_ptr)
{
std::queue<BTNode> map;
if(node_ptr != NULL)
map.push(node_ptr);
while(!map.empty()){
int a = map.front()*;
f(a);
if(map.front() -> right() != NULL)
map.push(map.front() -> right());
if(map.front() -> left() != NULL)
map.push(map.front() -> left());
map.pop();
}
}
.