problem with bind and non-member function
Hi there, I'm using MSVC 7.1 and cannot get the following program to
compile. I have tried the mailing list but couldn't find anything
related. I'm sure it's a trivial problem but I cannot see right now.
Anyone any idea?
using namespace std;
using namespace boost;
struct a {};
struct b {};
void foo( string& s, a ) {}
void foo( string& s, b ) {}
int _tmain(int argc, _TCHAR* argv[])
{
string str( "Hello" );
bind( static_cast
Thanks Peter, it needs to be:
using namespace std;
using namespace boost;
struct a {};
struct b {};
void foo( string& s, a ) {}
void foo( string& s, b ) {}
void two( int, int ) {}
int _tmain(int argc, _TCHAR* argv[])
{
string str( "Hello" );
bind( static_cast
Christian Henning wrote:
bind( static_cast
( &foo ), ( ref( str ), a() )); The (x, y) expression returns y. In your case (ref(str), a()) is equivalent to just a().
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Christian Henning wrote:
Thanks Peter, it needs to be:
using namespace std; using namespace boost;
struct a {}; struct b {};
void foo( string& s, a ) {} void foo( string& s, b ) {}
void two( int, int ) {}
int _tmain(int argc, _TCHAR* argv[]) { string str( "Hello" ); bind( static_cast
( &foo ), _1, _2)( ref( str ) , a() ); return 0; }
Are you still having problems with it? This works for me with the latest CVS; you may need to define an object of type 'a' since earlier versions of bind didn't accept rvalues such as a().
Thanks Peter, yes it works for me. Thanks
On 3/9/07, Peter Dimov
Christian Henning wrote:
Thanks Peter, it needs to be:
using namespace std; using namespace boost;
struct a {}; struct b {};
void foo( string& s, a ) {} void foo( string& s, b ) {}
void two( int, int ) {}
int _tmain(int argc, _TCHAR* argv[]) { string str( "Hello" ); bind( static_cast
( &foo ), _1, _2)( ref( str ) , a() ); return 0; }
Are you still having problems with it? This works for me with the latest CVS; you may need to define an object of type 'a' since earlier versions of bind didn't accept rvalues such as a().
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Christian Henning
-
Peter Dimov