Russian Qt Forum
Ноябрь 25, 2024, 21:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: error: switch quantity not an integer  (Прочитано 8402 раз)
QtProger
Гость
« : Октябрь 20, 2009, 15:49 »

Добрый день. Помогите пожалуйста. Компилятор выдает ошибку : error: switch quantity not an integer. Ошибка в третьей строке. Не могу понять в чем дело.

Код
C++ (Qt)
uchar hexConverter::charToNum(QChar c)
{
   switch(c)//тут ошибка
   {
       case '0': return 0;
       case '1': return 1;
       case '2': return 2;
       case '3': return 3;
       case '4': return 4;
       case '5': return 5;
       case '6': return 6;
       case '7': return 7;
       case '8': return 8;
       case '9': return 9;
       case 'A': return 10;
       case 'B': return 11;
       case 'C': return 12;
       case 'D': return 13;
       case 'E': return 14;
       case 'F': return 15;
   }
}
Записан
BRE
Гость
« Ответ #1 : Октябрь 20, 2009, 15:53 »

Добрый день. Помогите пожалуйста. Компилятор выдает ошибку : error: switch quantity not an integer. Ошибка в третьей строке. Не могу понять в чем дело.
В качестве аргумента switch нельзя использовать объект класса QChar.

Записан
QtProger
Гость
« Ответ #2 : Октябрь 20, 2009, 15:58 »

В качестве аргумента switch нельзя использовать объект класса QChar.

А что можно ?
Записан
BRE
Гость
« Ответ #3 : Октябрь 20, 2009, 16:01 »

А что можно ?
error: switch quantity not an integer
и все что к нему приводиться.
Записан
QtProger
Гость
« Ответ #4 : Октябрь 20, 2009, 16:12 »

и все что к нему приводиться.

Значит стандартные типы С++. Спасибо за помощь.

Я поправил, сделал вот так, вроде компилится:

Код
C++ (Qt)
void hexConverter::hexToBin(QDataStream* dataStream, QString str)
{
   charToNum(str[1].toAscii());
}
//---------------------------------------------------
uchar hexConverter::charToNum(char c)
{
   switch(c)
   {
       case '0': return 0;
       case '1': return 1;
       case '2': return 2;
       case '3': return 3;
       case '4': return 4;
       case '5': return 5;
       case '6': return 6;
       case '7': return 7;
       case '8': return 8;
       case '9': return 9;
       case 'A': return 10;
       case 'B': return 11;
       case 'C': return 12;
       case 'D': return 13;
       case 'E': return 14;
       case 'F': return 15;
   }
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.253 секунд. Запросов: 21.