C++ 如何从队列中获取元素

C++ 如何从队列中获取元素,c++,if-statement,C++,If Statement,这是我调用get函数的开关盒 int get(){ if (head == 0) { return -999; } else { int v = head->item; link t = head->next; delete head; head = t; return v; }

这是我调用get函数的开关盒

int get(){
        if (head == 0) { 
            return -999; 
        }
        else {
            int v = head->item; 
            link t = head->next;
            delete head; head = t; 
            return v;
        }           
    }
if(q.get()!=-999){
cout因为调用get()两次

一旦进入
if(q.get()!=-999)


另一个在
cout中,您实际上调用了
q.get()
两次,如下所示:

if (q.get() != -999) {
    cout << q.get() << " element removed from Queue" << endl;
} 
else {
   cout << "nothing to get; queue is empty" << endl;
}
您的“queue.get()”更改当前节点。您正在执行其中两个操作:一次在“if”中,然后再次在“cout”中。这是您真正想要的吗???
if (q.get() != -999) // First time
    cout << q.get() << " element removed from Queue" << endl; // Second time
else
   cout << "nothing to get; queue is empty" << endl;
int lastValue = q.get();
if (lastValue != -999)
    cout << lastValue << " element removed from Queue" << endl;
else
   cout << "nothing to get; queue is empty" << endl;