This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: pure virtual functions and name injection
- From: John Love-Jensen <eljay at adobe dot com>
- To: Pierre Chatelier <ktd at club-internet dot fr>, MSX to GCC <gcc-help at gcc dot gnu dot org>
- Date: Mon, 06 Mar 2006 15:10:58 -0600
- Subject: Re: pure virtual functions and name injection
Hi Pierre,
> Why should I inject the "foo" name from a into b ?
So that the compiler can find b::foo();
> The two functions have different prototypes, I thought that the compiler was
able to differentiate them.
Different prototypes, but the same name. The name is what is causing the
error, not the rest of the signature.
To avoid this kind of situation, I recommend using a different method name
for the method with the different signature.
>Then it compiles but there is a *link* error ! Can somebody explain me what
happens ?
You have not defined the a::foo function anywhere. So there is a link
error.
HTH,
--Eljay