gpt4 book ai didi

c++ - 绑定(bind)到成员变量

转载 作者:太空狗 更新时间:2023-10-29 20:32:17 24 4
gpt4 key购买 nike

以下example from boost bind对我不起作用:

#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)))'

我做错了什么吗?编译器是g++ 4.4.0

最佳答案

该绑定(bind)表达式的结果类型是int(或者更确切地说是const int&)。我想你可以override the return type :

boost::bind<int&>(&A::data, _1)(a) = 1;

关于c++ - 绑定(bind)到成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2262652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com