with -std=c++0x typeof is gone

me22 me22.ca@gmail.com
Thu Jan 28 06:53:00 GMT 2010


On 28 January 2010 01:31, Patrick Horgan <phorgan1@yahoo.com> wrote:
> In a templated class we define our difference type like this:
>
>       typedef typeof(T() - T()) differenceType;
>

That works?  Wouldn't it give unsigned when T is unsigned?

> How simple, how elegant, but typeof is not part of the C++ standard, and
> isn't available when we use -std=c++0x.  Other than using specializations
> for each type that we might use with this class, is there some other
> equivalently simple way to do this?
>

I assume that decltype can do it.

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2115.pdf

~ Scott



More information about the Gcc-help mailing list