2016-03-30 77 views
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上的星號