Buenas tardes,estoy haciendo una clase sencilla que ilustre como se definen el constructor de movimiento y la asignacion por movimento,pero me da un error tras indicar que no acepta && en el prototipo del constructor de mov.
class Vector
{
int size;
double *elementos;
public:
Vector(int tam);
Vector(const Vector& vec);
Vector& operator =(const Vector& v);
Vector(Vector&& vec); //Ctor. de mov. ESTE METODO ME DA ERROR
Vector& operator =(Vector&& v); //Ctor. de mov. ESTE TAMBIEN
const double& operator[](const int i)const;
double& operator [](const int i)const;
int tam()const;
~Vector();
};
Por favor que alguien me aclare porque esta este error.
Gracias de antemano.
Un saludo.
Esos constructores existen desde C++11. Tendrás que compilar con C++11 activado.
Si usas GCC, en la línea de comandos, pondrías -std=c++11. Si tienes otro IDE o compilador y no sabes ponerlo, comenta cuál es.
Pero vaya, que el error es ese, que antes de C++11 no existía eso.
Me ha ayudado,muchas gracias por la solución.
Un saludo de antemano.
Anthony.