我发现以下代码在 Visual Studio 2010 中无法编译(但在 GCC 中运行良好):
using namespace std;
unique_ptr<string> up(new string("abc"));
auto bound = bind(&string::size, move(up));
bound();
我得到的错误是:
'std::unique_ptr<_Ty>::unique_ptr' : 无法访问在类 'std::unique_ptr<_Ty>' 中声明的私有成员
是因为 VS2010 绑定实现不支持仅移动类型吗?