I’m trying to serialize a template class with multiple template parameters. In the header file, I declare something like
template <int T1, int T2>
class Node
{
private:
std::array<double,T1> first;
std::array<double,T2> second;
}
BOOST_CLASS_EXPORT_KEY(Node<1,1>)
In a separate file, I would use the BOOST_CLASS_EXPORT_IMPLEMENT macro. However, when I’m using the BOOST_CLASS_EXPORT_KEY with a class that has more than one template parameter (as in the example above), I get an error message
Error: macro "BOOST_CLASS_EXPORT_KEY" passed 2 arguments, but takes just 1
I’m using gcc 4.7.1 with boost 50
Any ideas, how to solve that problem?
Jörg F.
> BOOST_CLASS_EXPORT_KEY(Node<1,1>)
-
#include <boost/utility/identity_type.hpp>
BOOST_CLASS_EXPORT_KEY(BOOST_IDENTITY_TYPE((Node<1,1>)))
--
Regards,
niXman
___________________________________________________
Dual-target(32 & 64 bit) MinGW compilers for 32 and 64 bit Windows:
http://sourceforge.net/projects/mingwbuilds/
_______________________________________________
Boost-users mailing list
Boost...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
Hi,
My boost 1.47 does not have BOOST_CLASS_EXPORT_KEY but I suppose this is a
macro, therefore there is a problem with comma in template. Try to use
typedef or maybe BOOST_PP_COMMA may help here.
-- Slava