沒有 ifstream open() 的匹配函數
問題出現在程式碼片段:
std::ifstream file; file.open(name); // the error is here
問題出現在程式碼片段中:
Dev C>Dev C>Dev C>Dev C>Dev遇到錯誤「沒有匹配的呼叫函數'std::basic_ifstream
解決方案:
file.open(name.c_str());
要解決此問題,請使用c_str() 成員將std::string 轉換為C 樣式字串函數:
std::ifstream file(name.c_str());
或者,您可以直接使用C 風格字串初始化ifstream物件:
std::vector<int> loadNumbersFromFile(const std::string& name)
此外,考慮聲明 loadNumbersFromFile() 如下:
此變更表示函數不會修改其參數並防止不必要的複製。以上是為什麼 `ifstream::open()` 不能與 `std::string` 參數一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!