Can someone help me understand why the overloaded bar function doesn't work in this case?
class A {
public:
void foo(int a) {};
void bar(int a) {};
virtual void bar()=0;
};
class B : public A{
public:
virtual void bar() override {};
};
int main(int argc, char* argv[])
{
B b;
b.foo(2); // fine
b.bar(); // fine
b.bar(2); // not fine
}