El problema es name hiding.
La solución, un using.
class B
{
public:
B(){}
virtual ~B(){}
using A::Foo;
Foo(int){}
};
Alguien sabe si puede experimentar efectos secundarios con este using?
On Wed, Apr 30, 2008 at 12:05 PM, personaje <[EMAIL PROTECTED]> wrote:
> Por qué no puedo hacer esto?:
>
> class A
> {
> public:
> A(){}
> virtual ~A(){}
>
> void Foo(){};
> };
>
> class B : public A
> {
> public:
> B(){}
> virtual ~B(){}
>
> void Foo(int){};
> };
>
> int main()
> {
> B *p = new B;
> p->Foo();
> delete p;
> return 0;
> }
>
> el compilador se queja con :
> error: no matching function for call to 'B::Foo()'
> note: candidates are: virtual void B::Foo(int)
>
> Hay manera de evitar este problema?
>
> Saludos
>
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion