2009/7/29 Mathias Gaunard <mathias.gaunard@ens-lyon.org>
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.