Re: multiple inheritance abiguity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Jan 19, 2006, at 9:49 AM, John Love-Jensen wrote:
The reason why the duplicate names cause ambiguity is based on the principle of least surprise. [I'm not sure what the actual name of the principle is
called, this is just my terminology for it.]

My frustration is that whatever ambiguity exists is _manufactured_ by the compiler. There exists only a a single void f(double)--there is no global ambiguity.


Instead of silently selecting one of the two methods (even given, in the scenario you mentioned, an exact signature match) the compiler bails with an
error.

Silently selecting one of the two methods could cause unexpected behavior.
I wouldn't mind an info or warning message. Sure it'd be annoying, but action could be deferred to deal with more pressing issues. Leave the errors to truly ambiguous cases.


The solution is to explicitly provide one-or-both methods in the derived
class which forwards to the respective parents' method.
Kinda blows apart the whole concept of public inheritance, doesn't it?


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux