operator' ^&#39 ;:所有操作数必须使用FileInfo具有相同的枚举类型

时间:2018-05-02 23:42:52

标签: c++-cli

我正在使用listbox来解决这些问题

以下是代码:

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());
    }
}

我收到错误"运算符' ^':所有操作数必须每次具有相同的枚举类型"

1 个答案:

答案 0 :(得分:1)

您收到的错误是由于操作员' ^'你在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);
}