使用ftream类的时候出现的错误

        std:: ofstream    Device ::getZFile()
        {
              
                      return this ->xfile;
              
        }
运行上述代码的时候出现错误:

严重性
代码
说明
项目
文件
禁止显示状态
错误(活动)
无法引用 函数 "std::basic_ofstream<_Elem, _Traits>::basic_ofstream(const std::basic_ofstream<_Elem, _Traits>::_Myt &) [其中 _Elem=char, _Traits=std::char_traits<char>]" (已声明 所在行数:1035,所属文件:"d:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\fstream") -- 它是已删除的函数
LxS_Lib
h:\工作\钻井掘进角度测量\SW_LxS_C__Lib_V1.0.2\LxS_Lib\LxS_Lib\LxS_Device.cpp
56

原因: ofstream和ifstream是按值传递的,调用函数时会把实参复制给形参,这个过程会调用ifstream和ofstream的复制构造函数,而这个函数被delete了,所以VS会报C2280错误。
改正方法:正确的函数声明是把ifstream和ofstream从按值传递改为引用
代码改正为
        std:: ofstream   & Device ::getZFile()
        {
              
                      return this ->xfile;
              
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值