Автор | Сообщение |
|
Отправлено: 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 ); Так что если у вас в проекте случайно найдется объявление, как показано в начале этого сообщения, то исправьте его на правильное объявление, иначе когда баги компиляторов будут исправлены, ваш проект не будет компилироваться.
|
|
|
Новых ответов нет
|
|