另一个函数对 ofstream 的基本使用
Basic use of ofstream by another function
我的程序非常简单,所有的混乱都发生在传递 ofstream 指针周围,如下所示。
主程序:
int main()
{...
ofstream otf;
otf.open("hex_movie.xyz");
....
write(int (1),oc,nx,ny,otf,ck)
}
而在 write.h 中,它以
开头
int write(int TYPE,int *oc,int nx,int ny,ofstream otf, double ck)
{.... return 0;}
我用Xcode调试了一下,显示出来了(只在write函数那一行,不好意思不能上传截图)
Xcode/GGK/GGK/ggk.cpp:110:28:调用 'ofstream'(又名 'basic_ofstream')[= 的隐式删除复制构造函数12=]
谁能帮我解决这个问题,非常感谢! :)
您目前正在按值传递otf
尝试按引用传递
int write(int TYPE,int *oc,int nx,int ny,ofstream& otf, double ck)
在函数的签名中
int write(int TYPE,int *oc,int nx,int ny,ofstream otf, double ck)
参数otf
的类型为ofstream
,表示按值调用;因此,otf
将是调用方协议的副本。您可以将签名更改为
int write(int TYPE,int *oc,int nx,int ny,ofstream& otf, double ck)
这将使用引用调用并将使用与调用者相同的对象。
我的程序非常简单,所有的混乱都发生在传递 ofstream 指针周围,如下所示。
主程序:
int main()
{...
ofstream otf;
otf.open("hex_movie.xyz");
....
write(int (1),oc,nx,ny,otf,ck)
}
而在 write.h 中,它以
开头int write(int TYPE,int *oc,int nx,int ny,ofstream otf, double ck)
{.... return 0;}
我用Xcode调试了一下,显示出来了(只在write函数那一行,不好意思不能上传截图)
Xcode/GGK/GGK/ggk.cpp:110:28:调用 'ofstream'(又名 'basic_ofstream')[= 的隐式删除复制构造函数12=]
谁能帮我解决这个问题,非常感谢! :)
您目前正在按值传递otf
尝试按引用传递
int write(int TYPE,int *oc,int nx,int ny,ofstream& otf, double ck)
在函数的签名中
int write(int TYPE,int *oc,int nx,int ny,ofstream otf, double ck)
参数otf
的类型为ofstream
,表示按值调用;因此,otf
将是调用方协议的副本。您可以将签名更改为
int write(int TYPE,int *oc,int nx,int ny,ofstream& otf, double ck)
这将使用引用调用并将使用与调用者相同的对象。