Сводка: nullptr
преобразуется в bool
, а bool
преобразуется в int
, поэтому почему nullptr
не конвертируется в int
?
Этот код в порядке:
void f(bool);
f(nullptr); // fine, nullptr converts to bool
И это нормально:
bool b;
int i(b); // fine, bool converts to int
Так почему же это не так?
void f(int);
f(nullptr); // why not convert nullptr to bool, then bool to int?