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.