您的位置:首页 > 移动开发 > IOS开发

error: std::ios_base::ios_base(const std::ios_base&)’是私有的

2015-06-10 20:16 591 查看
用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 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: