|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Torino
Messaggi: 2553
|
help c++:illegal use of this type as an expr
Ciao a tutti. Frequento poco questa sezione perchè sono alle prime armi con la programmazione in C/C++ e sto seguendo un piccolo corso che dovrebbe darmi le basi per poter procedere da solo.
Mi sono imbattuto in un erroe di compilazione che non riesco a comprendere. Potreste darmi un mano? Il problema è che sto utilizzando un puntatore ad oggetto per inizializzare degli attributi dell'oggetto al di fuori della routine in cui l'ho definito... pensavo: semplice no? basta che lo passo alla routine che lo inizializza ed è fatta... be' quasi... nel senso che i risultati non sono quelli sperati e la compilazione sotto MS Visual C++ mi ritorna 1 errore ( adir il vero sono 7 ma tutti risolvibili risolvendo il primo) che non riesco a risolvere.... allego il listato... grazie a tutti coloro che mi daranno una mano... P.S.: lo so che a voi potrebbe sembrare banale ma io proprio non lo capisco... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Torino
Messaggi: 2553
|
Nessuno sa aiutarmi???? E dire che C e C++ insieme sembrano essere i linguaggio meglio conosciuti di questo forum.... Ultima modifica di Dr. Halo : 27-04-2004 alle 14:46. |
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Alcuni errori che ho trovato:
Codice:
#include <iostream> // senza .h !
...
class paladino: public ...{
...
paladino();
};
paladino::paladino()
{
agilita = random(1,8);
arma = random(1,4);
cl_armatura = random(1,4);
difesa = random(1,10);
forza = random(1,10);
scudo = random(0,5);
vita = random(1,20);
turno = random(1,6);
}
...
class mostro : public ...
{
...
mostro();
};
mostro::mostro()
{
agilita = random(1,8);
arma = random(1,4);
cl_armatura = random(1,4);
difesa = random(1,10);
forza = random(1,10);
vita = random(1,20);
turno = random(1,6);
}
...
// Qeste due non servono, si usano i costruttori !
// void crea_paladino(paladino *pnt1); //
// void crea_mostro(mostro *pnt2);
paladino p1, p2, *pnt1;
// Queste non servono !
// pnt1 = &p1;
// crea_paladino(paladino *pnt1);
// pnt1 = &p2;
// crea_paladino(paladino *pnt1);
num_mostri = random(2,4);
cout << "I due paladini si scontreranno contro i " << num_mostri << " mostri" << endl;
mostro *pnt2;
}
dichiari una istanza di una classe senza i puntatori, ad esempio con Codice:
...
paladino p1;
....
Codice:
class paladino: ... {
paladino();
}
Codice:
paladino::paladino()
{
...
}
ciao Marco |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2004
Città: Torino
Messaggi: 2553
|
grazissime!! mi sei stato di grande aiuto! ho trovato anche l'errore che mi bloccava oltretutto...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:37.



















