Thanks for the quick answer.

This is ok to fix the source, but I do not understand why it is normal behaviour that the foo() in b hides the one from a. They have different prototypes.

Regards,

Pierre Chatelier

This is not a bug in gcc.  foo in b hides the one from a.
You can "fix" the source by:
struct b : public a
{
  virtual int foo(int a) =0;
  using a::foo;
  virtual ~b(){}
};

Reply via email to