Salve a tutti,
sto realizzando il mio primo programma in C++ e mi sono imbattuta in due errori che non riesco a risolvere...
L'esercizio consiste in una classe Costellazione e una classe CorpoCeleste. Una costellazione è un aggregato di corpi celesti.
La classe CorpoCeleste ha 2 membri: un nome e due coordinate, mentre la classe Costellazione possiede un nome e un vettore di puntatori a CorpoCeleste ( vector<CorpoCeleste* > corpi) per implementare l'aggregazione.
Un metodo della classe Costellazione è il seguente:
void Costellazione::removeCorpoCeleste(CorpoCeleste* a)
{
vector<CorpoCeleste* >::iterator i;
for(i = corpi.begin(); i <= corpi.end(); i++)
{
if(i->getNome() == a.getNome())
{
corpi.erase(i);// elimina l'elemento del vettore che si trova nella posizione i
}
}
}
però quando vado ad eseguire il programma, mi appaiono i seguenti errori:
error: request for member ‘getNome’ in ‘* i.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-> [with _Iterator = CorpoCeleste**, _Container = std::vector<CorpoCeleste*, std::allocator<CorpoCeleste*> >]()’, which is of non-class type ‘CorpoCeleste*’
error: request for member ‘getNome’ in ‘a’, which is of non-class type ‘CorpoCeleste*’
Cosa significa?? Come potrei risolvere il problema??
Grazie mille per il vostro aiuto!