
3 Jun
2008
3 Jun
'08
9:40 a.m.
Hi all, following code fails to compile: #include <boost/fusion/functional/invocation/invoke.hpp> #include <boost/fusion/include/make_vector.hpp> namespace fusion = boost::fusion; struct foo_t { int operator()() { return 1; } int operator()(int) { return 2; } template<typename>struct result { typedef int type; }; }; int main(int, char**) { foo_t foo; assert( fusion::invoke(foo, fusion::make_vector(3)) == 2 ); assert( fusion::invoke(foo, fusion::make_vector()) == 1 ); // COMPILE ERROR HERE ! } Boost is released 1.35, compiler gcc 4.2 Thanks for your help Marco