Buenas, en el siguiente código se intenta llamar a una función f de la clase D, que hereda de B y C, en esta clase hay un sólo método f() ya que no hay duplicados al heredar virtualmente y un método f(int), los métodos se llaman igual pero reciben distinto tipo de parámetro, ¿por qué es ambiguo entonces?
Gracias y un saludo
Código [Seleccionar]
struct A {
void f() {}
};
struct B: virtual A {
void f(int i) {}
};
struct C: virtual A {
void f() {}
};
struct D: B, C {
};
int main()
{
D d;
d.f(5); //ambiguo
}
Gracias y un saludo