[LC++]ambiguity, temporaries, const
Davide Bolcioni
9odb6x3rfr001 at sneakemail.com
Sun Jan 6 05:50:05 UTC 2002
Roberto Diaz roberto at vivaldi.dhis.org [mltuxcpp/linux-cpp list] wrote:
> What I actually was trying to mean is that for instance if I overload this way:
>
> (I really was trying to pass temporaries and non-temporaries to the same
> function (name) without the use of pointers)
>
> void f (P&);
> void f (P);
>
> I get errors.. I suppose it is not possible to overload this way..
This is a separate issue. If you have:
void f(P&) { cout << "By reference\n"; }
void f(P) { cout << "By value\n" ; }
which should the compiler use when it sees:
P p;
f(p); // Which one ?
Note that the compiler is able to sort out:
P const cp;
f(cp);
because the qualification rules say that void f(P&)
cannot be called on a P const, only on non-const non-volatile
P.
Davide Bolcioni
--
There is no place like /home.
More information about the tuxCPProgramming
mailing list