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;
};
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;
}
Immaginando che ad un certo punto del main viene fatto:
codice:
Casa *case[numero_totale_case];
E in un altro punto è presente
codice:
case[n_c] = Casa(questa_casa[n]);
Così facendo esce l'errore:
error: no match for call to ‘(std::list<unsigned int*>) (const std::list<unsigned int*>&)’
Che ovviamente deriva da
codice:
lista_coordinate(casa.lista_coordinate);
Gentilmente sapete spiegarmi il problema?
Grazie anticipatamente.
Ciao.