繁体   English   中英

错误:使用未声明的标识符“实验性”

[英]error: use of undeclared identifier 'experimental'

编译我的 C++ 代码时,我不断收到此错误。 我已经包含了所有标题,并且在 VS 代码中处理此代码时遇到了麻烦,但没有运气。 非常感谢任何帮助!

ConsoleApplication1.cpp:151:17: error: use of undeclared identifier 'experimental'
        for (auto& p : experimental::filesystem::recursive_directory_iterator(path)) {

任何有关为什么我收到错误“使用未声明的标识符'实验性”的帮助将不胜感激。 我在我的 Mac 上安装了最新版本的 vs 代码,我只是在做 g++ ConsoleAppliation1.cpp,这就是出现 4 个警告和 1 个错误的地方。 这是我包括的标题


#include <iostream>
#include "stdafx.h"
#include <fstream>
#include <vector>
#include <algorithm>
#include <string>  
#include <sstream>
#include <map>  
#include <thread>
#include <chrono>
#include <cstdlib>
#include "CSVRow.h"
#include "Definements.h"
#include "Node.h"
#include "Reverse.h"
#include "dijkstras.h"
#include "dijkstras2.h"
#include "smart_ptr.h"
#include "targetver.h"
//#include <Windows.h> 
//#include <Wininet.h>
#include <experimental/filesystem>
//#include <tchar.h>
//#include <urlmon.h>
#include <ctime>
#include <unordered_map>
#include <utility>
#include "ConsoleApplication1.h"
#include <unordered_set>

只是跟进,感谢评论的人,我现在得到一个

error: no member named 'experimental' in namespace 'std'

做的时候

#ifdef __cpp_lib_filesystem
#  include <filesystem>
    namespace fs = std::filesystem;
#else
#  include <experimental/filesystem>
    namespace fs = std::experimental::filesystem;

#endif

有谁知道如何解决编译时在 std 中找不到实验性的错误? 我在mac上使用最新版本的c++,使用VS代码作为我的IDE

用这个替换#include <experimental/filesystem>

#include <filesystem>
namespace fs = std::filesystem;

并在代码的 rest 中使用fs 例如fs::directory_iterator

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM