Hola a todos,mirar hay un fallo de compilacion que me dice lo siguiente:
g++ -g -c -Iinclude -o lib/Habitacion.o lib/Habitacion.cc
lib/Habitacion.cc: In member function ‘Habitacion& Habitacion::operator=(const Habitacion&)’:
lib/Habitacion.cc:47: error: se dió un argumento de tipo ‘class Cama’ a ‘delete’, se esperaba un puntero
make: *** [lib/Habitacion.o] Error 1
y el método es el slguiente:
Habitacion &Habitacion::operator=(const Habitacion &h){
vector<Cama *>::const_iterator it;
if(this !=&h){
numero=h.numero;
//liberamos el vector de camas(del objeto implicito)
for(it=camas.begin();it!=camas.end();it++){
delete (**it);
}
//copiamos el vector de camas de h en el implicito
for(it=h.camas.begin();it!=h.camas.end();it++){
camas.push_back(new Cama(**it));
}
}
return *this;
}
el problema está en delete **it,cual es el fallo?,no consigo verlo ..necesito ayuda,gracias.