2017-03-05 45 views
0
bool comp(pair< pair<int,int>, int > left, pair< pair<int,int>, int > right) { return left.second > right.second;} 
//auto cmp = [](pair< pair<int,int>, int > left, pair< pair<int,int>, int > right) { return left.second > right.second;}; 
priority_queue< pair< pair<int,int>, int >,vector< pair< pair<int,int>, int > >, std::function<bool(pair< pair<int,int>, int >,pair< pair<int,int>, int >) > > q(comp); 

我該如何清除它?當我嘗試清除時出現錯誤。使用 此功能:我正在聲明一對自定義優先級隊列<pair <int,int>,int>,我該如何清除它?

template <class T, class S, class C> 
void clearpq2(priority_queue<T, S, C>& q){ 
    q=priority_queue<T, S, C>(); 
} 

回答

0

嘗試

q = priority_queue< pair< pair<int,int>, int >,vector< pair< pair<int,int>, int > >, std::function<bool(pair< pair<int,int>, int >,pair< pair<int,int>, int >) > > (comp); 
相關問題