A pointer to a member of a base class can be converted to a pointer to a member of a class derived from it, when the following conditions are met:
The inverse conversion, from derived class to base class pointer, is accessible.
The derived class does not inherit virtually from the base class.