crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как подружить оператор выбора switch и QString
sindbad07
  опции профиля:
сообщение 19.8.2010, 8:52
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 21
Регистрация: 28.4.2010
Пользователь №: 1671

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте, делаю так:

QString type;
..
switch( type )
{
case "type1":
..
break;
..
}

компилятор ругается: "error: switch quantity not an integer"
Подскажите как сделать свитч для строк. Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.8.2010, 9:04
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(sindbad07 @ 19.8.2010, 12:52) *
Как подружить оператор выбора switch и QString
никак, оператор switch работает только с целыми числами - это ограничение языка Си/Си++

используй такую конструкцию:
if (foo1)
    ...
else if (foo2)
    ...
else if (foo3)
.
.
.
else
    ...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 19.8.2010, 12:48
Сообщение #3


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Или применять QMap / std::map
:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 19.8.2010, 13:39
Сообщение #4


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Алексей1153 @ 19.8.2010, 13:48) *
Или применять QMap / std::map

не подумайте что умничаю , но если не важен порядок нахождения элементов в контейнере то лучше подойдёт QHash с его qHash().
все зависит от количества возможных строк, вида строк, переносимости и гибкости программы. если к примеру первый символ гарантированно разный в строках, можно его взять его как char использовать в switch. есть и другие варианты.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 19.8.2010, 13:49
Сообщение #5


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


kwisp, всё зависит от задачи. Которую автор не рассказал ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.4.2024, 3:00