История изменений
Исправление kawaii_neko, (текущая версия) :
В лучших традициях int&& != template<typename T = int> T&&
: первая — это rvalue-reference, а второе — universal reference.
Опытные ходители по граблям советуют https://stackoverflow.com/questions/7863603/how-to-make-template-rvalue-refer...
P. S. кстати, gcc ругается, что new пытается создать reference type в строке 86, что можно исправить new (...) typename std::remove_reference<T>::type(std::move(value))
Исходная версия kawaii_neko, :
В лучших традициях int&& != template<typename T = int> T&&
: первая — это rvalue-reference, а второе — universal reference.
Опытные ходители по граблям советуют https://stackoverflow.com/questions/7863603/how-to-make-template-rvalue-refer...
А самые опытные рекомендуют делать
template<typename T>
Any(T val) {
// use std::move(val);
}
P. S. кстати, gcc ругается, что new пытается создать reference type в строке 86, что можно исправить new (...) typename std::remove_reference<T>::type(std::move(value))