10.3 (Paragraph 5) Covariant Return Types
Virtual base classes are not supported as covariant return types when the virtual function has a variable number of arguments.
For example, the following sample will not compile:
// CovariantReturn.cpp
class A
{
virtual A* f(int c, ...); // remove ...
};
class B : virtual A
{
B* f(int c, ...); // C2688 remove ...
};