将矢量数组输出到 tex 文件中,错误

Output vector array into tex file, error

本文关键字:文件 错误 tex 数组 输出      更新时间:2023-10-16

我正在尝试将矢量数组的值输出到文本中但是我得到了这个奇怪的错误

没有操作数"<<"匹配的操作数,操作数类型为:std::ofstream <<person

这是我的代码

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();
    };

我已经包括并尝试了一切,但是这个错误仍然存在,非常感谢一些帮助!

您需要为自定义类 Person 添加这样的函数帮助程序。

ostream& operator<<(ostream& os, const Person& p)  
{  
    os << p._N << ' '  << p._F << ' ' << p._A << std::end; 
    return os;  
}