Я пытаюсь использовать recursive_directory_iterator в приложении Windows Visual Studio 2017 C ++ для форм, но хотя я много раз пробовал и гуглил, я не могу заставить его работать.
Вот мои включения:
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <strsafe.h>
#include <sstream>
#include <msclr\marshal.h>
#include "Form1.h"
#include <filesystem>
И в Form1.h у меня есть:
#pragma once
namespace fs = std::experimental::filesystem;
namespace ReadDir2
{
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Collections::Generic;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace msclr::interop;
// using namespace std;
using namespace std::experimental::filesystem;
И где я пытаюсь использовать метод:
for (auto& p : fs::recursive_directory_iterator("E:\\Pictures\\2013 HOG Test Photos"))
{
String^ sub_directory;
sub_directory = marshal_as<String^>(p);
Console::WriteLine("Directory name is " + sub_directory);
Сообщение об ошибке компиляции, которое я получаю, говорит:что метод не является частью класса std::experimental::filesystem
.Я попробовал все виды комбинаций имени класса безрезультатно.
Язык установлен на C ++ 17Любой совет будет наиболее ценным.