dierre
18-10-2005, 20:18
Salve, ho questi problemi:
dipendente* tmp;
switch(h){
case 1:{tmp=new operaio(a,b,c,d,e,f);
schede.push_back(tmp);
break;};
case 2:{tmp=new dirigente(a,b,c,d,e);
schede.push_back(tmp);
break;};
}
note: h è un int;
operaio e dirigente ereditano da dipendente;
e
void schedario::leggiTutti(){list<dipendente*>::iterator i;
for(i=schede.begin(); i=!schede.end(); i++;) {(*i).leggiDip(cout);}}
note: la dichiarazione di schede è list<dipendente*> schede;
per la prima roba ho questi errori di compilazione che non so come correggere:
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:10: parse error before `('
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:13: parse error before `('
nella riga di case 1 e nella riga di case 2
per la seconda ho questi errori:
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: no match for `!_List_iterator<dipendente *,dipendente *&,dipendente **>'
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: candidates are: operator !(bool) <builtin>
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: request for member `leggiDip' in `i._List_iterator<dipendente *,dipendente *&,dipendente **>::operator *()', which is of non-aggregate type `dipendente *'
per favore potreste aiutarmi a risolvere l'enigma?
dipendente* tmp;
switch(h){
case 1:{tmp=new operaio(a,b,c,d,e,f);
schede.push_back(tmp);
break;};
case 2:{tmp=new dirigente(a,b,c,d,e);
schede.push_back(tmp);
break;};
}
note: h è un int;
operaio e dirigente ereditano da dipendente;
e
void schedario::leggiTutti(){list<dipendente*>::iterator i;
for(i=schede.begin(); i=!schede.end(); i++;) {(*i).leggiDip(cout);}}
note: la dichiarazione di schede è list<dipendente*> schede;
per la prima roba ho questi errori di compilazione che non so come correggere:
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:10: parse error before `('
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:13: parse error before `('
nella riga di case 1 e nella riga di case 2
per la seconda ho questi errori:
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: no match for `!_List_iterator<dipendente *,dipendente *&,dipendente **>'
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: candidates are: operator !(bool) <builtin>
c:\documents and settings\dierre\documenti\esercizi\c++\sched\schedario.cpp:20: request for member `leggiDip' in `i._List_iterator<dipendente *,dipendente *&,dipendente **>::operator *()', which is of non-aggregate type `dipendente *'
per favore potreste aiutarmi a risolvere l'enigma?