[vc10, nullptr] Баг, нет?
От: byleas  
Дата: 20.10.09 09:41
Оценка:
char* ch4 = expr ? 0 : nullptr;     // error, types are not compatible

VC10 считает, что здесь всё ок. Тип выражения получается nullptr (в vc10 это ключевое слово означает и тип, и rvalue значение).
c++0x nullptr
Re: [vc10, nullptr] Баг, нет?
От: Vain Россия google.ru
Дата: 20.10.09 10:31
Оценка:
Здравствуйте, byleas, Вы писали:

B>
char* ch4 = expr ? 0 : nullptr;     // error, types are not compatible

B>VC10 считает, что здесь всё ок. Тип выражения получается nullptr (в vc10 это ключевое слово означает и тип, и rvalue значение).
Может совместимость у них такая? Пытались расширения отключить?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: [vc10, nullptr] Баг, нет?
От: byleas  
Дата: 20.10.09 10:55
Оценка: 1 (1)
Здравствуйте, Vain, Вы писали:

V>Здравствуйте, byleas, Вы писали:


B>>
char* ch4 = expr ? 0 : nullptr;     // error, types are not compatible

B>>VC10 считает, что здесь всё ок. Тип выражения получается nullptr (в vc10 это ключевое слово означает и тип, и rvalue значение).
V>Может совместимость у них такая? Пытались расширения отключить?
/Wall /Za ничего не говорят.

Вообще, это не баг и вышеуказанное утверждение в комментарии ошибочное:

4.10 Pointer conversions [conv.ptr]

A null pointer constant is an integral constant expression (5.19) rvalue of integer type that evaluates to zero or an rvalue of type std::nullptr_t. A null pointer constant can be converted to a pointer type… A null pointer constant of integral type can be converted to an rvalue of type std::nullptr_t.

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.