没有 ifstream open() 的匹配函数
问题出现在代码片段中:
std::ifstream file; file.open(name); // the error is here
Dev C 遇到错误“没有匹配的调用函数'std::basic_ifstream
解决方案:
要解决此问题,请使用 c_str() 成员将 std::string 转换为 C 样式字符串函数:
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中文网其他相关文章!