Будет ли это работать для вас?
ющий фрагмент кода выдает ошибку «неоднозначный вызов foo» во время компиляции, и я хотел бы знать, есть ли способ обойти эту проблему без полной квалификации вызова foo:
#include <iostream>
struct Base1{
void foo(int){
}
};
struct Base2{
void foo(float){
}
};
struct Derived : public Base1, public Base2{
};
int main(){
Derived d;
d.foo(5);
std::cin.get();
return 0;
}
Итак, вопрос, как следует из названия. Идеи? Я имею в виду следующее работает без нареканий:
#include <iostream>
struct Base{
void foo(int){
}
};
struct Derived : public Base{
void foo(float){
}
};
int main(){
Derived d;
d.foo(5);
std::cin.get();
return 0;
}