以下は、Visual Studio 2012 でエラーになります。
void do_something(std::unique_ptr<int> i);
std::unique_ptr<int> i(new int);
std::thread(do_something, std::move(i));
エラー 3 エラー C2248: 'std::unique_ptr<_Ty>::unique_ptr': クラス 'std::unique_ptr<_Ty>' c:\program files (x86)\microsoft visual studio 11.0\vc\ で宣言されたプライベート メンバーにアクセスできませんインクルード\ファンクショナル 1152 1 スクラッチ 役に立つ(!) ファンクショナルでのこの定義: _VARIADIC_EXPAND_0X(_CLASS_BIND, , , , )
これで問題ありません:
do_something(std::move(i));
私は何を間違っていますか?