Boost logo

Boost :

From: Marco Costalba (mcostalba_at_[hidden])
Date: 2008-06-03 05:40:59


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk