On Wednesday 27 November 2002 1:35 pm, Andre Poenitz wrote:
> On Wed, Nov 27, 2002 at 01:37:28PM +0100, Lars Gullik Bjønnes wrote:
> > Please tell what you find out.
>
> Bold guess: Candidates are:
>
>   std::string::insert(unsigned int, unsigned int, char)
>
> and
>
>   std::strings::insert(char *, unsigned int, char)

Correct guess is 
        std::string::insert(iterator, int, charT);
        std::string::insert(string::size_type, int, charT);
>
> Arguments given are  (int, int, char).
>
> Why adding the 'u' disambiguates is clear: In one case we have an exact
> match for the first argument, in the other a "pointer conversion".

It disambiguates only on 32 bit machines.
Angus

> 'int 0' does not suffice, as this is a "integral conversion" vs "pointer
> conversion" which rank equal.
>
> So why don't we see that in g++ 3.2?
>
> Andre'

Reply via email to