ШЕ>Так привык к жёсткой типизации, что казалось бы подобная конструкция не должна компилироваться, но хотя бы ШЕ>варнингом ругнуться. ШЕ>Компилируется на ура VC7.1 ШЕ>Будьте осторожны!
К сожалению, это законно. Стандарт описывает null pointer constant следующим образом [conv.ptr]:
A null pointer constant is an integral constant expression rvalue of integer type that evaluates to
zero.
ШЕ>Так привык к жёсткой типизации, что казалось бы подобная конструкция не должна компилироваться, но хотя бы ШЕ>варнингом ругнуться.
ШЕ>Компилируется на ура VC7.1
ШЕ>Вызывается: ШЕ>
Отличная идея. string(NULL), который здесь запрещается, все равно не имеет смысла. А всякие левые преобразования отметаются. Жалко, что на defect report не потянет. Был уже один такой
Здравствуйте, alexeiz, Вы писали:
A>Отличная идея. string(NULL), который здесь запрещается, все равно не имеет смысла. А всякие левые преобразования отметаются. Жалко, что на defect report не потянет. Был уже один такой
Ну по крайней мере можно взять на вооружение, когда будешь делать это
Можно ещё написать в M$ или на мэйлинг g++. Может действительно включат в библиотеку.
Насколько я понимаю это отметает только программы с UB, т.ч. если они не будут компилироваться это только к лучшему.
Вообще было бы замечательно, если бы компилятор ловил все UB на стадии компиляции