c++-cli - operator '^': 所有操作数必须使用 FileInfo 具有相同的枚举类型
问题描述
我正在使用列表框做某事,但在尝试扫描文件时遇到了麻烦
这是代码:
private: System::Void simpleButton20_Click(System::Object^ sender, System::EventArgs^ e) {
this->scan->Items->Clear();
try {
DirectoryInfo^ info = gcnew DirectoryInfo(Environment::GetFolderPath(Environment::SpecialFolder::UserProfile) + "\AppData\Roaming\skypedir\recievedfiles");
//FileInfo^ info2 = gcnew FileInfo(SearchOption::AllDirectories);
FileInfo^ info2 = gcnew FileInfo(info->GetFiles^("*jar*", SearchOption::AllDirectories));
this->scan->Items->Add(info2->FullName);
}
catch(Exception^ Exe){
MessageBox::Show(Exe->ToString());
}
}
我每次都收到错误“运算符'^':所有操作数必须具有相同的枚举类型” 。
解决方案
您收到的错误是由于您在 GetFiles 之后键入的运算符 '^'。你不需要它。但它不会解决你的问题。因为,DirectoryInfo::GetFiles 返回一个 FileInfo 的数组。因此,您不能使用 GetFiles 创建 FileInfo 对象。你应该这样做;
DirectoryInfo^ info = gcnew DirectoryInfo(Environment::GetFolderPath(Environment::SpecialFolder::UserProfile) + "\\AppData\\Roaming\\skypedir\\recievedfiles");
array<FileInfo^>^ fileInfoArray = info->GetFiles("*jar*", SearchOption::AllDirectories);
for each(FileInfo^ info2 in fileInfoArray)
{
this->scan->Items->Add(info2->FullName);
}
推荐阅读
- javascript - 如何在量角器中的套件之间共享相同的测试用例
- java - Java中可以保存任何数据类型的变量
- angularjs - md-tooltip 不适用于选取框
- spring-boot - Spring Data JPA Redis:无法编写基于自定义方法的查询
- javascript - GetAddress.io 和“无访问控制允许来源”错误
- java - 有没有办法知道 Subversion 和 Maven 之间的版本要求?
- python - 在与 return 语句相同的行上使用 if/else
- android - 后台应用程序和重新启动后无法正常工作
- java - 当我在 Linux 上远程调试 jar 时,如何使用参数
- c# - 继续将相同变量的新值添加到 List