Boost logo

Boost :

From: Nicola Musatti (Nicola.Musatti_at_[hidden])
Date: 2002-08-21 04:17:50


Gennadiy Rozental wrote:
[...]
> I investigated it in more depth. Here what I've got:
>
> __________________
> struct B {};
>
> //void foo( void* ) {}
> void foo( bool ) {}
> void foo( B ) {}
>
> struct A {
> struct Tester {};
> operator Tester*() const { return (Tester*)0; }
> };
>
> void poo() {
> foo( A() );
> }
> __________________
>
> This example fails to compile with Borland 5.5.1. It produces familiar
> "Could not find a match ..." error. If I comment B-based overloading on
> fifth line - is starting to work. Why it did not work and how B-based
> overloading is related?

I'm convinced this is a compiler bug and it's solved in the current
Borland product (BCB6 w. update2). This by the way is not the only case
in which bcc32 is confused by an irrelevant overload.

Cheers,
Nicola Musatti


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk