www.rtmj.net > C++中如何用函数传递FstrEAm类型

C++中如何用函数传递FstrEAm类型

用 fstream 类型作为函数的参数传递时, 由于fstream的拷贝构造函数 是private, 因此在传递参数时,fstream不允许调用其拷贝构造函数,则编程写为下面这种形式会报错:void Openfile(fstream f) {}编译时会出现错误: error C2248: “std::basic_ios::basic_ios”: 无法访问 private 成员(在“std::basic_ios”类中声明)因此在用 fstream作为参数时,应为引用,如:void Openfile(fstream & f) {

你好!!这样不可以,要把 fstream in; 定义成全局变量,而且你在fun1 内已经关闭了 fstream

引用传递. 举例:#include<iostream>#include<fstream>using namespace std;ofstream& function(ofstream &ofs){ return ofs;}int main(){ ofstream ofs("in.txt"); function(ofs); return 0;}

可以在bfunc中加一个传入参数A *a;然后调用你想要的a->afunc.而不必操作指针.如A中:b.bfunc(this);B中:bfunc(A*a){a->afunc();}建议尽量不用这样的操作,这说明类的设计有点问题,可能会出现死循环A->B->A->B..而且看起来还是像在用c的思想写c++程序.

在fstream类中,有一个成员函数open(),就是用来打开文件的,其原型是: voidopen(constchar*filename,intmode,intaccess);参数: filename:要打开的文件名mode:要打开文件的方式access:打开文件的属性打开文件的方式在类ios(

为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的.).这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件,

int型或者 ios::openmode类型void open(const char* filename,int mode,int access);

#include <fstream>using namespace std;int main(){ ofstream outf; outf.open(__FILE__, ios::out | ios::app);//以追加方式打开文件__FILE__ outf<<"//test";//文件尾部输出 outf.close(); return 0;}楼主参考

按引用传递就好了

调用构造函数来生成一个类,返回的值作为参数使用简单的int splitstr(const string& instr,const char split,vector& out);调用的时候splitstr(string(“this|is|a|test”),'|',out,);

网站地图

All rights reserved Powered by www.rtmj.net

copyright ©right 2010-2021。
www.rtmj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com