The following works on my compiler (VC 6.0), but is it allowed by the standard?

Derived** Base**


Converting Derived* Base* works OK; why doesn't Derived** Base** work?

If you see in the code, he says that it is an error in C++ to do this...

Code:
Vehicle** vehiclePtrPtr = carPtrPtr;
but this works fine...

Code:
Vehicle** vehiclePtrPtr = (Vehicle**)carPtrPtr;
Is it allowed by the standard.