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