ファイルの行を上書きして、「こんにちは」という単語を削除しようとしています。何らかの理由でこれが機能していません。これはファイルです:
out.txt :
こんにちは
1
2
さようなら
エラーは次のとおりです。
エラー: 呼び出しに一致する関数がありません
'std::istream_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char, std::char_traits<char>, int>::istream_iterator(std::fstream)'|
#include <fstream>
#include <string>
#include <algorithm>
#include <iterator>
int main()
{
std::copy_if(
std::istream_iterator<std::string>(std::fstream("out.txt")),
std::istream_iterator<std::string>(),
std::istream_iterator<std::string>(std::fstream("out.txt")),
[] (std::string str) { return str != "hello"; }
);
}