例如,我们有priority_queue<int> s;
,其中包含一些元素。以下代码的正确形式是什么:
while (!s.empty()) {
int t=s.pop();// this does not retrieve the value from the queue
cout<<t<<endl;
}
答案 0 :(得分:7)
请参阅您的文档,您会看到pop
没有返回值。有various reasons for this,但这是另一个主题。
正确的形式是:
while (!s.empty())
{
int t = s.top();
s.pop();
cout << t << endl;
}
或者:
for (; !s.empty(); s.pop())
{
cout << s.top(); << endl;
}