Boost logo

Boost :

From: hugo_duncan (hugo.duncan_at_[hidden])
Date: 2002-02-15 14:43:44


I think that I am have found a problem with bind, but maybe I am just misusing it.

The following program compiles fine on borland 5.5.1 and gcc 2.95.3-5 but failson MSVC 7

#include "boost/bind.hpp"
#include "boost/shared_ptr.hpp"
#include <vector>
#include <algorithm>
class x
{
public:
int mf() const
{
return 1;
}
};
typedef boost::shared_ptr<x> ptr;
int main(int, char**)
{
std::vector<ptr> y;
std::find_if(y.begin(), y.end(),
boost::bind(std::equal_to<int>(),1,boost::bind(&x::mf,_1)));
return 1;
}

The error message begins
test.cpp(22) : error C2780:
'boost::_bi::bind_t<R,boost::_mfi::cmf8<R,T,B1,B2,B3,B4,B5,B6,B7,B8>,boost::_bi:\
:list_av_9<R,T,B1,B2,B3,B4,B5,B6,B7>::type> boost::bind(R (__thiscall T::*
)(B1,B2,B3,B4,B5,B6,B7,B8) const,A1,A2,A3,A4,A5,A6,A7,A8,A9)' : expects 10
arguments - 3 provided
c:\usr\boost\boost\bind\bind_mf_cc.hpp(223) : see declaration of
'boost::bind'


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