|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-06-03 19:46:37
Arkadiy Vertleyb wrote:
> I was trying to come up with a useful example of LVALUE_TYPEOF, so I
> decided to implement the "trace" function from the motivation section
> of decltype/auto proposal. However I ran into unexpected problem:
>
> Given a function type F, and parameter type T, how to create an
> expression for typeof to use in the return type? I use VC71, and the
> only thing that seems to work (but with a warning) is:
>
> F()(T())
I'm not sure if this if what you have in mind, but the following compiles
without warning with VC7.1, como and GCC 3.4:
struct F {
template<typename T>
int operator()(T t) { return 0; }
};
int main()
{
(void) sizeof( (*(F*)0)( *(int*)0 ) );
}
Jonathan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk