私が最近答えようとした質問は、vs2012 の c++11 サポートのエラーのようでした。
具体的には、マップへの挿入に std::move のみが使用されているにもかかわらず、コピー構築不可能な value_type で std::map をコンパイルできませんでした。間違った挿入オーバーロードが選択されているか、コンパイラが代替を考慮していません。
基本的に、次のコードかどうか知りたくありません。
#include <iostream>
#include <memory>
#include <utility>
#include <type_traits>
class Foo {
};
using namespace std;
int main() {
cout << is_constructible<pair<const int,unique_ptr<Foo> >, pair<const int,unique_ptr<Foo> >& >::value << '\n';
cout << is_constructible<pair<const int,unique_ptr<Foo> >, pair<const int,unique_ptr<Foo> >&& >::value << '\n';
}
出力01を与えます。