Tiada fungsi padanan untuk ifstream open()
Isu timbul dalam coretan kod:
std::ifstream file; file.open(name); // the error is here
Dev C menghadapi ralat "tiada fungsi padanan untuk panggilan 'std::basic_ifstream
Penyelesaian:
Untuk menyelesaikan isu ini, tukar std::string kepada rentetan gaya C menggunakan ahli c_str() fungsi:
file.open(name.c_str());
Sebagai alternatif, anda boleh memulakan terus objek ifstream dengan rentetan gaya C:
std::ifstream file(name.c_str());
Selain itu, pertimbangkan untuk mengisytiharkan loadNumbersFromFile() seperti berikut:
std::vector<int> loadNumbersFromFile(const std::string& name)
Perubahan ini menunjukkan bahawa fungsi tidak mengubah suai hujahnya dan menghalang perkara yang tidak perlu salinan.
Atas ialah kandungan terperinci Mengapa `ifstream::open()` Tidak Berfungsi dengan `std::string` Argumen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!