Осмотр контейнеров STL в XCode

Оператор switch жалуется, потому что часть «case» в выражении «требует» значения «CONSTANT». Оператор dataGridView.Columns["First"].Index всегда будет возвращать одно и то же значение ... если вы не переместите столбец ... что вы можете сделать. Вот почему компилятор будет смотреть на перенастроенное значение из dataGridView.Columns["First"].Index как НЕ «константа».

Это имеет смысл в том факте, что «индекс столбца» для столбца с именем «First» может быть в ЛЮБОМ индексе столбца в сетке… Отсюда и ошибка.

Возможное решение состоит в том, чтобы получить текущее значение строки «Имя» столбцов, а затем отключить столбец «Имя», как показано ниже.

string columnName = dataGridView.Columns[e.ColumnIndex].Name;
switch (columnName) {
  case "First":
    MessageBox.Show("Cell Validated is in 'FIRST' column");
    break;
  case "Second":
    MessageBox.Show("Cell Validated is in 'Second' column");
    break;
  case "Third":
    MessageBox.Show("Cell Validated is in 'Third' column");
    break;
}
7
задан Cœur 4 March 2019 в 02:32
поделиться

2 ответа

Способность просмотреть объекты контейнера может полагаться на сложность шаблонного типа. Для тривиальных объектов как интервал, bool, и т.д., и даже простых шаблонов классов как

template <class T> struct S { T m_t; }

У меня обычно нет проблемы при просмотре векторных объектов в представлении переменной отладчика. Я обычно говорю, потому что, кажется, существуют случайные ошибки, которые вызывают материал - особенно при отладке - для не поведения способа, которым я ожидал. Одной из тех вещей является мусор или полностью бесполезная информация в переменном представлении. Обычно чистое восстанавливает цели (или иногда даже более решительный перезапуск XCode, сопровождаемого чистым, восстанавливает), решает проблему.

Что касается других контейнерных типов, скорее всего, трудно эффективно просмотреть эту информацию. Например, карта часто реализуется как красно-черное дерево. Отладчик должен был бы знать, что заранее, чтобы правильно обойти дерево и показать Вам все ключи и значения. Это, вероятно, спрашивает много от XCode или GDB - тем более, что бывшее внимание больше на Objective C и плоскость C, чем C++ (следовательно то, что пространства имен имеют тенденцию уничтожать завершение кода несмотря на свою повсеместность и важность).

1
ответ дан 7 December 2019 в 14:39
поделиться

Можно создать средства форматирования Данных для различных тип переменных, таким образом, они обнаруживаются более хороший :-).

2
ответ дан 7 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: