如何打印队列的内容

时间:2013-11-21 21:28:35

标签: c++ queue

我无法弄清楚我在这里做错了什么。我正在尝试打印出我的整个队列(其中包含天气历史记录),但它无法正常工作。当我尝试调试它时,它向我显示它正确地保存队列中的值,但没有正确分配它。如何正确输出队列中的内容?这是我的代码:

Temp.cpp

ostream &operator<<( ostream &out, Temperature &p)//Overloaded Method to output the data
{    
fstream myEngFile5;
string tempLine5;
string tempLine6;
myEngFile5.open("English.txt");
myEngFile5.seekg(335);
getline(myEngFile5, tempLine5);
out<<tempLine5<<p.value; //The Temperature is __
myEngFile5.seekg(356);
getline(myEngFile5, tempLine6);
out<<tempLine6<<"\n"; //F
return out;
}

Temp.h

int getTemp();
int getTemp2();

Temperature()
{
value=0;
}

Temperature(int v)
{
value=v;
}
friend ostream &operator<<(ostream &out,Temperature &p);

Source.cpp

queue<int>temp;//decalred in the begining
.
.
.
for(int i=0; i<temp.size(); i++){
int qSize=temp.size();
Temperature p2(temp.front());
while( !temp.empty()){
cout<<p2;
temp.pop();}
}

1 个答案:

答案 0 :(得分:0)

这是您正在寻找的(未经测试)?:

while (!temp.empty()) {
    Temperature p2(temp.front());
    cout << p2;
    temp.pop();
    }

似乎你最好使用队列&lt; Temperature&gt;填充队列时构建您的温度对象。