C++表达式必须具有布尔类型(或可转换为布尔型)

C++表达式必须具有布尔类型(或可转换为布尔型),c++,compiler-errors,filesystemobject,C++,Compiler Errors,Filesystemobject,您好,我遇到了一个错误:表达式必须具有bool类型或可转换为bool 这是我的代码,我找不到修复此错误的方法: #include <fstream> #include <string> #include <windows.h> #include <filesystem> namespace fs = std::filesystem; using namespace std; int main() { for (std::filesy

您好,我遇到了一个错误:表达式必须具有bool类型或可转换为bool

这是我的代码,我找不到修复此错误的方法:

#include <fstream>
#include <string>
#include <windows.h>
#include <filesystem>

namespace fs = std::filesystem;

using namespace  std;

int main() {
    for (std::filesystem::recursive_directory_iterator iter{ filesystem::path{"C:/Program Files (x86)/Steam/userdata/"} };
       std::filesystem::recursive_directory_iterator{};++iter) // error appear on this line 'std::filesystem::recursive_directory_iterator{}'.
        
    {
        std::filesystem::remove(*iter);
    }
}
显然,我的目标是删除文件夹中的所有文件

但到目前为止,我试过的都没用


谢谢你的帮助

您可以使用这样的基于范围的For循环吗

for(auto& p: std::filesystem::recursive_directory_iterator(
  filesystem::path("C:/Program Files (x86)/Steam/userdata/")))
{
  std::filesystem::remove(p);
}

请不要截图或图像中的任何文本。您忘记比较迭代器。您想用iter替换std::filesystem::recursive_directory_iterator{}std::filesystem::recursive_directory_iterator{}如果我没有弄错的话。很抱歉,我无法添加图像,我需要更多的重复。@lazytick根本不使用图像,除非问题是为什么我的代码会生成这种图形伪品?几乎每隔一段时间,当你使用一幅图像时,你只会对看不到图像的人打勾。通常,一个过于依赖图像的问题在你有时间做任何事情之前,在你得到答案之前就被抹去了,所以它不值得你花时间。