Summary: `nullptr` converts to `bool`, and `bool` converts to `int`, so why doesn't `nullptr` convert to `int`?

This code is okay:

```
void f(bool);
f(nullptr);      // fine, nullptr converts to bool

```

And this is okay:

```
bool b;
int i(b);        // fine, bool converts to int

```

So why isn't this okay?

```
void f(int);
f(nullptr);      // why not convert nullptr to bool, then bool to int?

```