Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

const char C/C++

65K
26 февраля 2011 года
Andrey0
5 / / 26.02.2011
Добрый день.
Раньше такой код работал
 
Код:
const char crypt[] = {0x14, 0x67, 0x85, 0x14, 0x87, 0x11,0x45};

После использования gnu++0x/c++0x не работает, выдает такое:

 
Код:
main.cpp:9:64: error: narrowing conversion of '133' from 'int' to 'const char' i
nside { }
main.cpp:9:64: error: narrowing conversion of '135' from 'int' to 'const char' i
nside { }
278
26 февраля 2011 года
Alexander92
1.1K / / 04.08.2008
Думаю, что числа 0x14, 0x67 и т.д. по умолчанию воспринимаются компилятором как int. Как вы знаете, char уже, чем int, поэтому компилятор и пишет про "narrowing conversion" - суживающее преобразование. Попробуйте вручную привести элементы массива к типу char .
65K
26 февраля 2011 года
Andrey0
5 / / 26.02.2011
Спасибо большое, что-то я сильно запутил, не смог сделать такое простое действие.
Сделал так:
 
Код:
const char crypter[] = {char(0x14), char(0x67), char(0x85), char(0x14), char(0x87), char(0x11),char(0x45)};

Все работает!
87
26 февраля 2011 года
Kogrom
2.7K / / 02.02.2008
const unsigned char crypt[] = {0x14, 0x67, 0x85, 0x14, 0x87, 0x11, 0x45};
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог