A stretto giro, non ti servirebbe un costruttore di copia visto che stai usando una std::list che già lo implementa di suo (e il compilatore sa quando richiamarlo in automatico), questa istruzione è legale solo nella initialization list:
codice:
Casa::Casa(const Casa& casa) : lista_coordinate(casa.lista_coordinate)
{ 
}
Se vuoi tenerla nel corpo del costruttore di copia devi fare.
codice:
Casa::Casa(const Casa& casa) 
{ 
    std::copy(
        casa.lista_coordinate.begin(),
        casa.lista_coordinate.end(), 
        std::back_inserter(lista_coordinate)
    );
}