Inheritance 协变返回类型:返回另一个继承类指针

Inheritance 协变返回类型:返回另一个继承类指针,inheritance,types,covariant-return-types,Inheritance,Types,Covariant Return Types,我有以下代码: class Base{ virtual Base* Foo() = 0; } class A: public Base{ B* Foo(){} } class B: public Base{ A* Foo(){} } 编译时会出现错误: 覆盖虚拟函数返回类型不同且不协变 我怎样才能修好它

我有以下代码:

class Base{
    virtual Base* Foo() = 0;
}

class A: public Base{
    B* Foo(){}
}

class B: public Base{
    A* Foo(){}
}
编译时会出现错误: 覆盖虚拟函数返回类型不同且不协变 我怎样才能修好它