error: std::ios_base::ios_base(const std::ios_base&)’是私有的
用std::ifstream,std::ofstream作为函数参数传递时,必须通过引用传递,因为其copy方法被私有化,从而保证对象的唯一性。
正确代码
  3 #include <iostream>
  4 #include <fstream>
  5 using namespace std;
  6
  7 OrderEntryMsg ReadOrderEntryMsg(ifstream &infile)
  8 {
  9     OrderEntryMsg msg;
 10     infile.seekg(sizeof(MsgHeader), ios::cur);
 11     infile.read((char*)&msg, sizeof(OrderEntryMsg));
 12     return msg;
 13 }
错误代码
  7 OrderEntryMsg ReadOrderEntryMsg(ifstream infile)
  8 {
  9     OrderEntryMsg msg;
 10     infile.seekg(sizeof(MsgHeader), ios::cur);
 11     infile.read((char*)&msg, sizeof(OrderEntryMsg));
 12     return msg;
 13 }
                    
                
                
            
        
浙公网安备 33010602011771号