| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Задача с switch |
| Автор: Toohtik 21.5.2007, 23:01 | ||
Возникла такая задача: есть список. Идентефикаторы строк списка хранятся в массиве. При выборе строки списка в прогу приходит сообщение с номером выбраной строки. Как определить какая строка выбрана т.е.:
Но так нельзя т.к. компилятор говорит что case должна быть константа! Как быть? http://www.forum.vingrad.ru/forum/topic-152210/unread-1/anchor-entry1140974/0.html |
| Автор: Xenon 21.5.2007, 23:05 |
| Toohtik, ну правильно ... там должен быть интегральных тип, при чем констатный. Попробуй хранить в std::map<идентификатор, строка> |
| Автор: Anikmar 21.5.2007, 23:07 | ||
| Если номер строки можно получить из сообщения то проще прямой адресацией в массиве Result = Massiv[Номер_строки]; А синтаксис switch/case такой:
|
| Автор: Toohtik 21.5.2007, 23:18 |
| Anikmar, что то я не уловил сути. Где тут прямая адресация в массиве? У нас вместо 0 или 1 нужна переменная. Кстати не обязательно использовать свич, может можно как нить по другому? |