簡體   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