简体   繁体   中英

I'm declaring a custom priority queue of pair< pair<int,int> , int >, how do I clear it?

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);

How should I clear it? I get error when I try to clear. using this function :

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

尝试

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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM