ファイルから読み取るために fin.getline() の複数の呼び出しを使用する関数 func1(ifstream& fin) があります。この func1 内で、func1 がアクセスしているのと同じファイルにアクセスする必要がある別の関数 func2(ifstream&) も呼び出します。func2 を単に func2(fin) として呼び出すことができます。
ここで、func1 が 4 行目までファイルを読み取り、次に func2 が呼び出されて、7 行目までファイルを読み取るとします。これが問題です。funct2 が func1 に戻るとすぐに、ファイルの読み取りを続行したいと思います。 func1 が残した場所、つまり 5 行目ですが、fin がファイルの 8 行目を「指している」ため、それは不可能です。
func2 を func2(const ifstream&) および func2(const ifstream*) として定義するか、func1 内に fin のコピーを作成して func2 に渡すことは既に試みましたが、コンパイラはこれらのオプションを受け入れません。
私は何をすべきか?ありがとう。