错误:`std::ios_base::ios_base(const std::ios_base&)' is private

用std::ifstream,std::ofstream作为函数参数传递时,必须通过引用传递,因为其copy方法被私有化,从而保证对象的唯一性。
正确
void LineRead::read(std::ifstream *fin)
{
     std::string line;
    while(getline(*fin,line))
    {
        std::cout<<line<<"\n";
    };
};
错误
void LineRead::read(std::ifstream fin)
{
//参数传递会导致产生副本
     std::string line;
    while(getline(fin,line))
    {
        std::cout<<line<<"\n";
    };
};

你可能感兴趣的:(ios,C++,c,C#)