I'm using VC++ Express 2005 with boost 1.34. I'm just trying to use lambda to compare one of the tuple element with some value as find_if predicate but it failed. The code is :
--appropriate #include's
using namespace std;
using namespace boost;
using namespace boost::lambda;
using namespace boost::tuples;
typedef tuple data;
int main(int argc, char* argv[])
{
vector<data> v;
v.push_back(data("John","William",12));
find_if(v.begin(), v.end(), bind(&data::get<0>, _1) == "John" );
return 0;
}
And the error message is:
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &,const Arg10 &)' : expects 10 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1743) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &,const Arg10 &)' : expects 10 arguments - 2 provided
1> with
1> [
1> Arity=10,
1> Act=boost::lambda::function_action<10>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1710) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4,Par5,Par6,Par7,Par8,Par9),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &,const Arg10 &)' : expects 10 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1673) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &)' : expects 9 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1526) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &)' : expects 9 arguments - 2 provided
1> with
1> [
1> Arity=9,
1> Act=boost::lambda::function_action<9>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1494) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4,Par5,Par6,Par7,Par8),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &,const Arg9 &)' : expects 9 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1458) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &)' : expects 8 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1322) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &)' : expects 8 arguments - 2 provided
1> with
1> [
1> Arity=8,
1> Act=boost::lambda::function_action<8>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1291) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4,Par5,Par6,Par7),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &,const Arg8 &)' : expects 8 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1257) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &)' : expects 7 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1123) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &)' : expects 7 arguments - 2 provided
1> with
1> [
1> Arity=7,
1> Act=boost::lambda::function_action<7>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1092) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4,Par5,Par6),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &,const Arg7 &)' : expects 7 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(1058) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &)' : expects 6 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(927) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &)' : expects 6 arguments - 2 provided
1> with
1> [
1> Arity=6,
1> Act=boost::lambda::function_action<6>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(899) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4,Par5),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &,const Arg6 &)' : expects 6 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(867) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &)' : expects 5 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(738) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &)' : expects 5 arguments - 2 provided
1> with
1> [
1> Arity=5,
1> Act=boost::lambda::function_action<5>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(710) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3,Par4),const Arg2 &,const Arg3 &,const Arg4 &,const Arg5 &)' : expects 5 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(679) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &)' : expects 4 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(558) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &,const Arg4 &)' : expects 4 arguments - 2 provided
1> with
1> [
1> Arity=4,
1> Act=boost::lambda::function_action<4>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(532) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2,Par3),const Arg2 &,const Arg3 &,const Arg4 &)' : expects 4 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(503) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &)' : expects 3 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(387) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &,const Arg3 &)' : expects 3 arguments - 2 provided
1> with
1> [
1> Arity=3,
1> Act=boost::lambda::function_action<3>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(361) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1,Par2),const Arg2 &,const Arg3 &)' : expects 3 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(333) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(232) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(232) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(232) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> with
1> [
1> Arity=2,
1> Act=boost::lambda::function_action<2>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(212) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> with
1> [
1> Arity=2,
1> Act=boost::lambda::function_action<2>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(212) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper::type>> boost::lambda::bind(const Arg1 &,const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> with
1> [
1> Arity=2,
1> Act=boost::lambda::function_action<2>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(212) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1),const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(190) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1),const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(190) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2784: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(Par1),const Arg2 &)' : could not deduce template argument for 'overloaded function type' from 'overloaded function type'
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(190) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper<const Arg1>::type>> boost::lambda::bind(const Arg1 &)' : expects 1 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(91) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor,detail::bind_tuple_mapper<const Arg1>::type>> boost::lambda::bind(const Arg1 &)' : expects 1 arguments - 2 provided
1> with
1> [
1> Arity=1,
1> Act=boost::lambda::function_action<1>
1> ]
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(71) : see declaration of 'boost::lambda::bind'
1>d:\project\simple\file transfer\tuple\tuple.cpp(16) : error C2780: 'const boost::lambda::lambda_functor>,detail::bind_tuple_mapper::type>> boost::lambda::bind(Result (__cdecl &)(void))' : expects 1 arguments - 2 provided
1> d:\library\boost_1_34_1\boost\lambda\detail\bind_functions.hpp(49) : see declaration of 'boost::lambda::bind'
---------------------------------
Never miss a thing. Make Yahoo your homepage.