无法将 'std::ifstream' {aka 'std::basic_ifstream'<char>} 转换为 'bool' 作为回报



有人能帮忙吗?我在标题中得到错误

bool fexists(const char *filename)
{
std::ifstream ifile(filename);
return ifile;
}

bool转换运算符标记为explicit,这意味着它不能用于这样的隐式转换。

如果流是good():,则返回

return ifile.good();

请注意,当在实际条件中使用时,这是明确需要bool值的地方,并且将使用转换运算符。


或者考虑到要执行的操作,检查文件是否存在,请改用std::filesystem::exists

相关内容

最新更新