我正在尝试将矢量数组的值输出到文本中 但我得到这个奇怪的错误
no opeartor“<<”匹配操作数,操作数类型是:std :: ofstream<<人
这是我的代码
class Person {
public:
Person(string, string, int);
string get_name() {
return name;
}
string get_family() {
return family;
}
int get_age() {
return age;
}
private:
string name;
string family;
int age;
};
ofstream myfile;
myfile.open("test.txt");
vector <Person> persons;
string N, F;
int A;
while (cin >> N >> F >> A) {
Person tmpPerson(N, F, A);
persons.push_back(tmpPerson);
for (int i = 0; i < persons.size(); i++){
myfile << persons[i] << " " << endl;
}
myfile.close();
};
我已经接受了并尝试了所有的一切,但这个错误仍然存在,非常感谢一些帮助!
答案 0 :(得分:0)
您需要为自定义类Person添加这样的函数帮助器。
ostream& operator<<(ostream& os, const Person& p)
{
os << p._N << ' ' << p._F << ' ' << p._A << std::end;
return os;
}