私が持っているのは、関数を使って2つのファイルを連結する作業です。だから私がしようとしていたのは次のようなものです:なぜC++の関数に参照でファイルを渡すべきですか?
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
void concatenateFiles(ifstream fileA, ifstream fileB, ofstream fileAB){
...
}
しかし私は理解できなかったエラーを抱えていました。だから私はこれを次のように変更しました:
それはうまくいきましたが、私はそれがなぜなのか完全にはわかりません。私はそれが参照によって渡されない限り、ファイルにアクセスできないことと関係があると思います。おそらくC++は、参照渡しでないと他の変数のコピーを作るようなファイルのコピーを作ることはできないでしょうか?これは私がこれで得ることができる限りです。これは私の最初のプログラミングコースなので、できるだけシンプルに答えることができれば素晴らしいだろう!
ありがとう、ラミ。
はい、['std :: ifstream'](http://en.cppreference.com/w/cpp/io/basic_ifstream/basic_ifstream)はコピーコンストラクタを提供しません。 –
ストリームをコピーするとはどういう意味ですか? –
@DavidSchwartz私はまだストリームのコンセプトを完全には理解していないので、まだそのレベルで判断することはできません:/ –