29 Jul
2009
29 Jul
'09
12:16 p.m.
2009/7/29 Mathias Gaunard
1) struct S {
static const size_t maxsize =5; };
2) struct S { static size_t maxsize; };
3) struct S { size_t maxsize; };
Applied to S, the code doesn't compile in 1 and returns false in 2.
Is there a fix that can make it work for 1, 2 and 3 ?
No. Static members and non-static ones are very different things, and each requires usage of a different macro. BOOST_HAS_STATIC_MEMBER_DATA and BOOST_HAS_MEMBER_DATA.
It explains why 2 returns false, but does not explain why 1 does not compile. Roman Perepelitsa.