LINUX.ORG.RU

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

Исправление kvpfs, (текущая версия) :

Собственно, в обоих случаях проблема в том, что вызывается конструктор template Any(T &&value) вместо template Any(const T &value)

Логично, шаблон с универсальной ссылкой генерит более специализированную версию, которая и вызывается. Нужно либо писать constraint для универсальной версии, либо генерить SFINAE ошибку (если цпп20 нет).

Исходная версия kvpfs, :

Собственно, в обоих случаях проблема в том, что вызывается конструктор template Any(T &&value) вместо template Any(const T &value)

Логично, версия с универсальной ссылкой генерит более специализированную версию, которая и вызывается. Нужно либо писать constraint для универсальной версии, либо генерить SFINAE ошибку (если цпп20 нет).