On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 19.05.15 21:28. Заголовок: Преобразование nullptr в false. Баги GCC 4.9.2 and MS VC++


Следующее объявление
 
bool b = nullptr;

успешно компилируется как на http://ideone.com так и на http://webcompiler.cloudapp.net/ соответственно компиляторами GCC 4.9.2 и MS VC++.

Однако согласно стандарту C++ (4.12 Boolean conversions) данное объяаление не должно компилироваться:


 цитата:
1....For direct-initialization (8.5), a prvalue of type std::nullptr_t can be converted to a prvalue of type bool; the resulting value is false.



Правильное объявление должно выглядеть следующим образом
 
bool b( nullptr );

Так что если у вас в проекте случайно найдется объявление, как показано в начале этого сообщения, то исправьте его на правильное объявление, иначе когда баги компиляторов будут исправлены, ваш проект не будет компилироваться.


Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 15
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет