ifstream open() に一致する関数がありません
問題はコード スニペットで発生します:
std::ifstream file; file.open(name); // the error is here
Dev C で「呼び出しに一致する関数がありません」というエラーが発生しました'std::basic_ifstream
解決策:
この問題を解決するには、c_str() メンバーを使用して std::string を C スタイルの文字列に変換します。 function:
file.open(name.c_str());
または、C スタイルの文字列を使用して ifstream オブジェクトを直接初期化することもできます:
std::ifstream file(name.c_str());
さらに、次のようにloadNumbersFromFile() を宣言することを検討してください。
std::vector<int> loadNumbersFromFile(const std::string& name)
この変更は、関数が引数を変更せず、不必要なコピーを防止することを示します。
以上が`ifstream::open()` が `std::string` 引数で機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。