我的代码很简单:
msclr::interop::marshal_context ctx;
System::String ^converted =
msclr::interop::marshal_as<String^>(Directory::GetCurrentDirectory);
array<String^>^ files =
Directory::GetFiles(converted, "*.cpp", System::IO::SearchOption::AllDirectories);
我只是想获取当前目录,然后获取该文件夹中的文件以及所有子文件夹。但我收到以下错误:
错误C3374无法获取地址 &#39;系统:: IO ::目录:: GetCurrentDirectory&#39;除非创建委托 实例
答案 0 :(得分:1)
我不确定为什么你需要尝试编组这样的方法。尝试直接调用它:
System::String^ converted = Directory::GetCurrentDirectory();
array<String^>^ files =
Directory::GetFiles(converted, "*.cpp", System::IO::SearchOption::AllDirectories);
Directory::GetCurrentDirectory
已经返回System.String^
,因此您无需编组或转换它。 Directory::GetCurrentDirectory
调用Directory::GetCurrentDirectory()
。