1

到目前为止我有这个代码:

#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
#include <string>
#include <stack>
using namespace std;

int main () {


ifstream in;
in.open("example.txt");

ofstream outfile;
outfile.open("out.txt");

stack<string> lines;
string temp;
while(getline(in, temp))
    lines.push(temp);
while(!lines.empty())
    outfile << lines.pop() << endl;

in.close();
outfile.close();

return 0;
}

我的问题是,为什么我会收到“与运算符 << 在 outfile 中不匹配”的编译错误。

4

1 回答 1

7

pop()返回void,而不是std::string。使用top()然后pop()

while(!lines.empty())
{
    outfile << lines.top() << endl;
    lines.pop();
}
于 2012-04-19T17:18:13.067 回答