Итак, у меня есть этот код, который я получил от здесь , у кого-то уже был этот тип ошибки, но это не помогло исправить в моем случае ( статья ):
using namespace System::Collections;
using namespace System::Windows::Forms;
int ListViewColumnSorter::Compare(System::Object^ x, System::Object^ y)
{
int compareResult;
ListViewItem^ listviewX;
ListViewItem^ listviewY;
// Cast the objects to be compared to ListViewItem objects
listviewX = static_cast<ListViewItem^>(x);
listviewY = static_cast<ListViewItem^>(y);
// Compare the two items
compareResult = ObjectCompare->Compare(listviewX->SubItems[ColumnToSort].Text,
listviewY->SubItems[ColumnToSort].Text);
// Calculate correct return value based on object comparison
if (OrderOfSort == System::Windows::Forms::SortOrder::Ascending)
{
// Ascending sort is selected, return normal result of compare operation
return compareResult;
}
else if (OrderOfSort == System::Windows::Forms::SortOrder::Descending)
{
// Descending sort is selected, return negative result of compare operation
return (-compareResult);
}
else
{
// Return '0' to indicate they are equal
return 0;
}
}
Однако в этой строке выдается ошибка:
compareResult = ObjectCompare->Compare(listviewX->SubItems[ColumnToSort].Text,
listviewY->SubItems[ColumnToSort].Text);
, говорящая, что listviewX
и listviewY
должны иметь тип класса.
Я не знаю Не понимаю, как я правильно указываю на объект типа ListViewItem
.
Есть идеи?