Ciao a tutti.
Dovrei implementare un costruttore di copia, che all'interno copi degli attributi che sono dei template:
codice:class Casa { public: Casa(); Casa(const Casa& casa); void addListaCoordinate(unsigned int* coordinate); std::list<unsigned int*> getListaCoordinate(); private: std::list<unsigned int*> lista_coordinate; };Immaginando che ad un certo punto del main viene fatto:codice:Casa::Casa() { } Casa::Casa(const Casa& casa) { lista_coordinate(casa.lista_coordinate); } void Casa::addListaCoordinate(unsigned int* coordinate) { this->lista_coordinate.push_back(coordinate); } std::list<unsigned int*> Casa::getListaCoordinate() { return this->lista_coordinate; }
E in un altro punto è presentecodice:Casa *case[numero_totale_case];
Così facendo esce l'errore:codice:case[n_c] = Casa(questa_casa[n]);
error: no match for call to ‘(std::list<unsigned int*>) (const std::list<unsigned int*>&)’
Che ovviamente deriva daGentilmente sapete spiegarmi il problema?codice:lista_coordinate(casa.lista_coordinate);
Grazie anticipatamente.
Ciao.

Rispondi quotando
