-
报错
error C2280: “std::basic_ifstream<char,std::char_traits>::basic_ifstream(const std::basic_ifstream<char,std::char_traits> &)”: 尝试引用已删除的函数 -
原因
在系统声明中有这么一句代码
basic_ifstream(const basic_ifstream&) = delete;
这句话的意思是base_fstream类的拷贝(赋值)构造函数是已删除函数,这样可以防止多个对象同时读取或写入IO缓冲区。(未能理解)
-
解决方法
若ifstream作为函数形参时,将其改为传址pass by reference。
例如将
void init_vs(ifstream);
改写成
void init_vs(ifstream &);
最后
以上就是光亮手链最近收集整理的关于【解决问题】使用fstream类时报错尝试引用已删除的函数的全部内容,更多相关【解决问题】使用fstream类时报错尝试引用已删除内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复