![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| max_crt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 10.7.2003 Репутация: нет Всего: 1 |
Подскажите как правильно преобразовать типы в следующем фрагменте:
Выдается ошибка 'reinterpret_cast' : cannot convert from 'int' to 'char [2]' |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Непонятно, что можно получить, кастуя цифру (например 4) в слово и пытаясь передать как указатель на строку в функцию MessageBox. ИМХО, правильнее так:
А "reinterpret_cast" можно сделать, если в качестве типа указать не "char[2]", а "char *". -------------------- ![]() |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Формат функции MessageBox следующий:
MessageBox(хэндл окна, "текст сообщения как char", "заголовок окна как char", константа кнопки(или кнопок)+константа иконки+клавиша по умолчанию); в разделе дельфи только недавно был схожий вопрос. Вот короче из справки:
-------------------- |
|||
|
||||
| RAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Pegas, извини, ты, по-моему, не в тему.
max_crt, ты не прав в двух вещах. Во-первых reinterpret_cast не преобразует тебе число i к символьному представлению. А во-вторых, даже если бы это было возможно, то всё равно не правильно. Потому что reinterpret_cast <char*> (i); не сделает i типом char*. Эта операция пройдёт в пустую. Надо куда-то деть результат выполнения этой функции:
В этом примере i, как было типа int, так и осталось, а ch приняла значение 5 и имеет тип char*. А вообще твой пример - не то место, где надо использовать такое преобразование. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Извиняю, но в тему. Так, в качестве ликбеза....
-------------------- |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
В общем, max_crt, ты уже понял, что так, как ты пытаешься, преобразовать число типа "int" в строковое представление нельзя. Используй соответствующие функции (itoa, sprintf, CString::Format, ...).
-------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |