This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: multiple inheritance abiguity



On Jan 19, 2006, at 10:52 AM, Gabriel Dos Reis wrote:
[...snip...]
| I think that what you're telling me is that the name resolution
| algorithm uses _only_ the method's name (not its signature) to first
| select a namespace,

Not a namespace, but a base class.

Sorry, I was using namespace in the generic sense.


Are you telling me that C++ namespace function/static resolution operates _differently_ than it does class method/member resolultion?

[...snip..]
If you fully qualify the name, either as C1::f or C2::f, then you'll
resolve the ambiguity.

Yeah, I know...but my question is why should I have to when there is no real ambiguity?
If I am to accept that namespace and class name resolutions operate differently. What's the analog to "using namespace" if it's not public inheritance?


Can I do something like:

class M : public C1, public C2
{
using C1;
using C2;
}.

My problem is that C1 and C2 happen to be the same template, instantiated with _different_ type parameters. Does this mean that I have to explicitly and tediously list each and every single method in the template?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]