Вот уж не ожидал: не перегружаются функции через разные базовые классы
От: x-code  
Дата: 26.11.20 08:39
Оценка:
Оказывается это не работает. Visual Studio 2019 ругается

Error C2385 ambiguous access of 'foo'


class Base1
{
public: void foo(double x) {}
};
class Base2
{
public: void foo(const char* s) {}
};

class D : public Base1, public Base2 {};

int main()
{
  D d;
  d.foo(3.14); // Error    C2385    ambiguous access of 'foo'
}

Наверянка в стандарте есть какой-то пункт на этот случай.
Знатоки, объясните почему так? В этом есть какой-то глубокий смысл, или просто досадная недоработка?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.