Показать сообщение отдельно
Старый 24.06.2011, 09:17   #2
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Оператор switch

Вы имеете в виду эту ошибку?

Только переменные перечисляемого типа могут быть использованы в switch().
Если вы хотите делать switch по значению строки, можно использовать следующие способы:
1. Заменить switch() на блок if-then-else. Тут: не забывайте, что в С++ сравнение строк нужно делать через <string.h> -> strcmp(char*, char*).
2. Использовать числовое значение строки. То есть написать (или взять с интернета) функцию, которая бы возращала для каждой строки более или менее уникальный int. Следовательно сравнения будут проводится над результатом такой функции.
3. Дать объектам дополнительную переменную (аля Tag в Delphi) по которой и определять, какой объект был клацнут.

Хорошего дня.
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
maxturbo (24.06.2011), St_AnGer (24.06.2011)