0

Хорошо, поэтому я пытаюсь использовать предоставленный мне файл шаблона, 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(); 
    } 

}  

.

ответ

0

не обращайте внимания на всех, мне просто не хватало звездочки на btnode для очереди типа