Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: cheops   (05.03.2012 в 18:02)
>Что будет, если объявление сделать так:
> char key;
>выдает при компиляции [Warning] assignment makes integer from pointer without a cast
>if (key == byte)
Вы сравниваете два разных типа. Компилятор говорит, вижу вы сравниваете количество яблок с породой лошадей - это неправильно. Да в C++ строгая типизация и не хорошо сравнивать разные типы, но часто требуется, особенно тут когда целочисленный код равен коду char. Поэтому вы можете привести тип при помощи круглых скобок () так
if (key == (char)byte)
или так
if ((int)key == byte)
размеры типов равны и никаких проблем не должно возникнуть - компилятор будет знать, что все в порядке, мы разным количеством яблок обозначаем разные породы лошадей - так задумано и программист знает, что делает.


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: