Ale*_*ban 3 c++ visual-c++ visual-c++-2010 move-semantics c++11
我发现以下代码不能在Visual Studio 2010中编译(但在GCC中可以正常工作):
using namespace std;
unique_ptr<string> up(new string("abc"));
auto bound = bind(&string::size, move(up));
bound();
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
'std :: unique_ptr <_Ty> :: unique_ptr':无法访问类'std :: unique_ptr <_Ty>'中声明的私有成员
是因为VS2010绑定实现不支持仅移动类型吗?
您的猜测是正确的:Visual C++ 2010实现std::bind不支持移动.请参阅错误报告,"std :: bind和std :: function不能移动."
这是在即将发布的版本Visual C++ 11中修复的.修复程序应该出现在9月发布的Visual C++ Developer Preview中.
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |