Boost logo

Boost :

From: Eric Niebler (neric_at_[hidden])
Date: 2003-01-20 18:04:30


It seems to me that the current implementation of is_convertible will
conclude that int* is convertible to int[10]. That's because when a
function parameter is of array type, it is treated just like a pointer. But
according to 4/3 of the standard:

"An expression e can be _implicitly converted_ to a type T if an only if the
declaration "T t=e;" is well-formed for some invented variable t (8.5)."

By this definition, int* is not implicitly convertible to int[10]. So it
seems is_convertible is broken in this regard. IMO, is_convertible<A,B>
should always return false when B is an array type.

Eric


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