See Why am I getting an error converting a Foo** → const Foo**?
Because converting
Foo**
→const Foo**
would be invalid and dangerous … The reason the conversion fromFoo**
→const Foo**
is dangerous is that it would let you silently and accidentally modify a const Foo object without a cast
The reference goes on to give an example of how such an implicit conversion could allow me one to modify a const
object without a cast.