
12 May
2006
12 May
'06
5:57 a.m.
It turns out that BOOST_TYPEOF_NESTED_TYPEDEF has a problem when used inside functions on VC8.0 (possibly other compilers as well) This is because BOOST_TYPEOF_NESTED_TYPEDEF internally defines a member template: struct a { template<typename T> struct b{ }; }; VC8.0 doesn't handle this (error C2892: local class shall not have member templates) It is possible to avoid this problem, but this would cripple BOOST_TYPEOF_NESTED_TYPEDEF because it would reintroduce the BOOST_TYPEOF_LIMIT_SIZE limitation on the expression complexity. The alternative is to disallow NESTED_TYPEDEF inside functions, and write a note on this in the docs. Is this acceptable? Regards, Peder