理解“没有匹配的函数 - 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 不支持此功能。
其他修改
除了文件打开修复之外,还建议:
以上是为什么我的 `ifstream::open()` 在 Dev-C 中失败并显示'无匹配函数”,但在 Visual Studio 中却不然?的详细内容。更多信息请关注PHP中文网其他相关文章!