相关疑难解决方法(0)

VS2010有boost :: bind问题吗?

我有以下代码行,它在2010年之前的g ++和Visual Studio下编译得很好.

std::vector<Device> device_list;

boost::function<void (Device&, boost::posix_time::time_duration&)> callback = 
  boost::bind(&std::vector<Device>::push_back, &device_list, _1);
Run Code Online (Sandbox Code Playgroud)

Device班级在哪里,没什么特别的.

现在我刚刚将我的Visual Studio版本升级到2010并且编译失败了:

Error   1   error C2780: 'boost::_bi::bind_t<_bi::dm_result<MT::* ,A1>::type,boost::_mfi::dm<M,T>,_bi::list_av_1<A1>::type> boost::bind(M T::* ,A1)' : expects 2 arguments - 3 provided C:\developments\libsystools\trunk\src\upnp_control_point.cpp    95
Run Code Online (Sandbox Code Playgroud)

发生了什么,我该如何解决这个问题?

谢谢.

c++ boost bind visual-studio-2010

5
推荐指数
1
解决办法
1699
查看次数

使用std :: tr1 :: bind与std :: vector :: push_back

为什么我的VS2010无法编译此代码:

#include <functional>
#include <vector>
int main()
{
    std::vector<int> vec;
    std::bind(&std::vector<int>::push_back, std::ref(vec), 1)();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ bind visual-studio-2010

2
推荐指数
1
解决办法
2073
查看次数

标签 统计

bind ×2

c++ ×2

visual-studio-2010 ×2

boost ×1