qui suit example from boost bind ne fonctionne pas pour moi:liaison aux variables membres
#include <boost/bind.hpp>
struct A
{
int data;
};
int main()
{
A a;
boost::bind(&A::data, _1)(a) = 1;
}
error: assignment of read-only location 'boost::bind [with A1 = boost::arg<1>, M = int, T = A](&A::data, (<unnamed>::_1, boost::arg<1>())).boost::_bi::bind_t<R, F, L>::operator() [with A1 = A, R = const int&, F = boost::_mfi::dm<int, A>, L = boost::_bi::list1<boost::arg<1> >](((A&)(& a)))'
Est-ce que je fais quelque chose de mal? Le compilateur est g ++ 4.4.0
Juste réalisé quelque chose en suivant votre exemple de lien ci-dessus: vous essayez de suivre un exemple d'expression Boost.Lambda bind en utilisant Boost.Bind. Essayez d'inclure et et utilisez boost :: lambda :: bind + boost :: lambda :: _ 1 à la place. En outre, utilisez boost :: lambda :: var pour contenir une référence par. –
rjnilsson