Сортировка списка в C ++ - PullRequest
0 голосов
/ 01 мая 2018

впервые задаю вопросы здесь. У меня проблемы с сортировкой списка в форме C ++. Я бы предпочел сделать это в C #, но, к сожалению, это требование класса. Вот код вопроса:

void updateCourseDisplay()
{  
    courseListBox->Items->Clear();
    set<Course*> courseSet = courseControl->getCourseSet();
    std::set<Course *>::iterator it;
    for (it = courseSet.begin(); it != courseSet.end(); ++it)
    {
        Course * c = (*it);

        String ^courseId = gcnew String((c->getID().c_str()));
        String ^courseName = gcnew String((c->getName().c_str()));

        courseListBox->Items->Add(courseId + " - " + courseName);
    }
    courseListBox->System::Windows::Forms::ListBox::Sort();

    populateCopyStudentsComboBox();
}

Я знаю, что это довольно грязно, но я не хотел возиться с созданием управляемых объектов для добавления в форму. Ошибка, которую я получаю при попытке запуска, говорит о том, что System :: Windows :: Forms :: ListBox :: Sort () была бы вызвана, но она недоступна. Все, что я хочу, это простое упорядочение списка по строковому значению. Есть мысли?

1 Ответ

0 голосов
/ 01 мая 2018

Sort - это защищенный метод, к которому нельзя получить доступ извне. Вместо этого вы должны установить для общего свойства Sorted значение true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...