LINUX.ORG.RU

История изменений

Исправление 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))