以前は、fstreamオブジェクトのアドレスをI/O操作を行うコンストラクタを含む関数に渡しました。しかし、fstreamオブジェクトをメンバー変数として使用できるようにして、後続のすべての入出力操作でそれらの変数を引数として渡す代わりに使用できるようにしたいと考えています。fstreamオブジェクトをメンバ変数として使用するにはどうすればよいですか?
は、次のJavaプログラムを考えてみましょう:
public class A {
Scanner sc;
public A(Scanner read) {
sc = read;
}
}
本のC++と同等でしょうか?私はこの
class A {
ofstream *out;
public:
A (ofstream &output) {
out = output;
}
};
をやってみました。しかし、これは私のコンパイルエラーを与える:
[Error] invalid user-defined conversion from 'std::ofstream {aka std::basic_ofstream}' to 'std::ofstream* {aka std::basic_ofstream*}' [-fpermissive]
ポインタへの参照を割り当てることはできません。それらは異なるものです。 – tkausl
_ "これは私にコンパイルエラーです。" _コンパイルエラーを特定してください。投稿[MCVE]してください! –
また、出力を求めていますが、_scanner_のような入力ではありません。 –