「一致する関数がありません - ifstream open() エラー」について
提供された C コードでは、エラー「呼び出しに一致する関数がありません」 'std::basic_ifstream::open(std::string&)' " は、文字列を使用してファイルを開こうとするときに発生します引数としてリテラル。このエラーは、dev cpp でコンパイルするときに発生しますが、VS では発生せず、プラットフォーム固有の動作を示しています。
エラーの解決
エラーを解決するには、ファイルの開始行を変更してください次のように:
file.open(name.c_str());
または、コンストラクターを使用してファイルを構築して開くこともできます。 stream:
std::ifstream file(name.c_str());
C 11 以降では、std::string 引数を使用してファイルを開くためのサポートが導入されました。ただし、dev cpp で使用されている古いバージョンの C は、この機能をサポートしていません。
追加の変更
ファイルを開く修正のほかに、次のこともお勧めします。
以上がDev-C では「ifstream::open()」が「一致する関数がありません」で失敗するのに、Visual Studio では失敗しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。