マイクロソフトから次のスニペットを入手しました
template <typename T> struct RemoveReference {
typedef T type;
};
template <typename T> struct RemoveReference<T&> {
typedef T type;
};
template <typename T> struct RemoveReference<T&&> {
typedef T type;
};
template <typename T> typename RemoveReference<T>::type&& Move(T&& t) {
return t;
}
..。
remote_integer x = frumple(5);
remote_integer&& x1 = Move(x);
「エラーC2440:'return':'remote_integer'から'remote_integer&&'に変換できません」というエラーが表示されます。
コンパイラで何か変更されましたか?std :: moveを使用すると、すべてがうまくいきます。