У меня есть функция: void foo (bool boolParam = true)
И я изменил его на: void foo (const char * charParam, bool boolParam = true)
Чтобы избежать поиска, я просто скомпилировал код, надеясь, что компилятор выдаст ошибка (или, по крайней мере, предупреждение), когда функция была вызвана из-за неправильного типа параметра, но вместо этого компилятор молча преобразовал false в NULL
и скомпилировал все без ошибок или предупреждений. Это правильное поведение? Я знаю, что false и NULL
оба равны 0, но я думаю, что компилятор должен выдать хотя бы какое-то предупреждающее сообщение ...