У меня есть класс, который я пишу, который будет использовать особый тип для одного из его конструкторов, который может быть любого типа, который соответствует моим требованиям. Я столкнулся с проблемой, что этот шаблонный конструктор заставляет мою копию и перемещать конструкторы в незаконные перегрузки!Перегруженный конструктор незаконный с перемещением и копией
Мой класс изложил так:
template<typename ... Types>
class myclass{
public:
myclass(const myclass &other){/* copy constructor */}
myclass(myclass &&other){/* move constructor */}
template<typename Special>
myclass(Special &&arg){/* stops copy/move implementations */}
}
Как я могу обойти это ограничение?
Я думаю, вы имеете в виду, что 'mycla ss (Special && arg) 'предпочтительнее для конструктора копирования для аргумента non-const lvalue? –
@PiotrSkotnicki yeahp, я делаю – CoffeeandCode