Memahami "Tiada Fungsi Padanan - ifstream open() Ralat"
Dalam kod C yang disediakan, ralat "tiada fungsi sepadan untuk panggilan 'std::basic_ifstream::open(std::string&)' " timbul daripada percubaan untuk membuka fail menggunakan literal rentetan sebagai hujah. Ralat ini berlaku apabila menyusun dengan dev cpp tetapi tidak dalam VS, menunjukkan tingkah laku khusus platform.
Menyelesaikan Ralat
Untuk menyelesaikan ralat, ubah suai baris pembukaan fail seperti berikut:
file.open(name.c_str());
Sebagai alternatif, anda boleh menggunakan pembina untuk membina dan membuka fail strim:
std::ifstream file(name.c_str());
Dalam C 11 dan kemudian, sokongan untuk membuka fail menggunakan argumen std::string telah diperkenalkan. Walau bagaimanapun, versi lama C , seperti yang digunakan oleh dev cpp, tidak menyokong ciri ini.
Pengubahsuaian Tambahan
Selain pembetulan pembukaan fail, ia juga disyorkan untuk:
Atas ialah kandungan terperinci Mengapa `ifstream::open()` Saya Gagal dengan 'Tiada Fungsi Padanan' dalam Dev-C , Tetapi Bukan Visual Studio?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!