In article <37a2msF5a16enU1@[EMAIL PROTECTED]
>,
"Jonathan Turkanis" <technews@[EMAIL PROTECTED]
> wrote:
>Hi,
>
>Consider this program:
>
> struct Thing {
> operator void* () const;
> };
>
> struct any {
> template<class T>
> any(T const&);
> };
>
> char operator*(any const&);
>
> int main()
> {
> Thing t;
> *t;
> }
>
>This compiles on VC7.1, GCC 3.4 and como 4.3.3. I'm interested to know
the
>result when compiled on CW 9.4, which I don;t have access to. Based on
the
>Boost
>regression re****ts here, http://tinyurl.com/5wtud,
I am guessing the
compiler
>will complain of an ambiguity between 'void operator*(any const&)' and
>'operator* (void *)'.
>
>I'm puzzled by this reference to 'operator* (void*)'. Since a void
pointer
>cannot be dereferenced, why should this dereferncing operation be
considered
>during overload resolution?
I thought I replied to this.
This is an error and is corrected in a newer version of CodeWarrior.
Ron
--
Metrowerks Community Forum is a free online resource for developers
to discuss CodeWarrior topics with other users and Metrowerks' staff
-- http://www.metrowerks.com/community
--
Ron Liechty - MWRon@[EMAIL PROTECTED]
- http://www.metrowerks.com


|