所以我有这段代码是我从here中得到启发的,有人已经遇到了这种类型的错误,但是在我的情况下[article)并没有解决它:
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
类型的对象。
任何想法?
提前感谢。
这些行的^
符号是什么? :D
ListViewItem^ listviewX;
ListViewItem^ listviewY;
这些绝对必须是*
!