. "The problem with your example is p is a pointer to const int, but the constructor of Derived takes a const pointer to int since T is int*." . . .