Boost logo

Boost Users :

From: Christian Henning (chhenning_at_[hidden])
Date: 2007-03-09 15:22:13


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<void(*)(string&, a )>( &foo ), ( ref( str ), a() ));

         return 0;
}

The error message is:

c:\boost\boost\bind.hpp(63) : error C2825: 'F::result_type': cannot
form a qualified name
        c:\boost\boost\bind\bind_template.hpp(15) : see reference to
class template instantiation 'boost::_bi::result_traits<R,F>' being
compiled
        with
        [
            R=boost::_bi::unspecified,
            F=void (__cdecl *)(std::string &,a)
        ]
        test.cpp(18) : see reference to class template instantiation
'boost::_bi::bind_t<R,F,L>' being compiled
        with
        [
            R=boost::_bi::unspecified,
            F=void (__cdecl *)(std::string &,a),
            L=boost::_bi::list1<boost::_bi::list_av_1<a>::B1>
        ]
c:\boost\boost\bind.hpp(63) : error C2039: 'result_type' : is not a
member of 'operator``global namespace'''
c:\boost\boost\bind.hpp(63) : error C2146: syntax error : missing ';'
before identifier 'type'
c:\boost\boost\bind.hpp(63) : error C2955: 'boost::_bi::type' : use of
class template requires template argument list
        c:\boost\boost\bind.hpp(112) : see declaration of 'boost::_bi::type'
c:\boost\boost\bind.hpp(63) : fatal error C1903: unable to recover
from previous error(s); stopping compilation


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net