Неявное преобразование типов C ++ в Visual Studio 2010

У меня есть функция: void foo (bool boolParam = true)

И я изменил его на: void foo (const char * charParam, bool boolParam = true)

Чтобы избежать поиска, я просто скомпилировал код, надеясь, что компилятор выдаст ошибка (или, по крайней мере, предупреждение), когда функция была вызвана из-за неправильного типа параметра, но вместо этого компилятор молча преобразовал false в NULL и скомпилировал все без ошибок или предупреждений. Это правильное поведение? Я знаю, что false и NULL оба равны 0, но я думаю, что компилятор должен выдать хотя бы какое-то предупреждающее сообщение ...

11
задан Cody Gray 25 February 2011 в 08:30
поделиться