On 08/09/2007, Joe Buck <[EMAIL PROTECTED]> wrote: > > It still seems odd, and this restriction could make the coding of > templates more complex.
Agreed, but I'm not sure making reinterpret_cast convenient to use is a noble aim :-) It should be used a last resort, in the knowledge that the result is implementation-defined. Reinterpret_cast isn't generic, it only works with a subset of types, which sounds to me like a definite case for a set of template specialisations. If needed anyone can write a reinterpret_cast wrapper specialised for all the legal reinterpret_cast conversions, as well as various int->long and int->int conversions if they want to allow them. So I don't think GCC needs to do anything. The standard is clear: "No other conversion can be performed explicitly using reinterpret_cast." so any GCC extension to reinterpret_cast would conflict with that. It could also break code that used failure to compile a reinterpret_cast as a form of static_assert (I don't know if anyone actually does that.) Jon