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

时间:2018-03-23 18:50:11

标签: c++ c++11

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

  

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

    };

我已经接受了并尝试了所有的一切,但这个错误仍然存​​在,非常感谢一些帮助!

1 个答案:

答案 0 :(得分:0)

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

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

    return os;  
}