Se espera expresión primaria antes del token ‘;’ Se espera un identificador no calificado antes del token ‘=’
He creado dos clases en c++: una llamada compte y la otra banque.
class compte
{
public:
compte();
compte(long,float);
virtual ~compte();
long Getnum() { return num; }
void Setnum(long val) { num = val; }
float Getsolde() { return solde; }
void Setsolde(float val) { solde = val; }
void deposerArgent(float);
void retirerArgent(float);
virtual void afficher();
protected:
long num;
float solde;
};
class banque
{
public:
banque();
virtual ~banque();
string Getnom() { return nom; }
void Setnom(string val) { nom = val; }
string Getlieu() { return lieu; }
void Setlieu(string val) { lieu = val; }
list<compte*> Getcompte() { return compte; }
void Setcompte(list<compte*> val) { compte = val; }
protected:
private:
string nom;
string lieu;
list<compte*> compte;
};
Pero estoy recibiendo 2 errores en la siguiente línea de la clase banque:
list<compte*> Getcompte() { return compte; }
Se espera una expresión principal antes del token ‘;’.
Se espera un identificador no calificado antes del token ‘=’.</compte></compte></compte></compte>
davy.ai
Los errores en la clase
banque
son causados por usar el mismo nombre tanto para la variable de clase como para la función getter.En la línea
list<compte*> Getcompte() { return compte; }
,compte
se refiere a una variable de clase, pero también es el nombre de la clasecompte
en sí misma. Esto está causando confusión para el compilador.Para solucionar esto, cambia el nombre de la variable
list<compte*>
en la clasebanque
a algo más, comocompteList
. Luego actualiza las funciones getter y setter de la siguiente manera:Esto debería resolver los errores del compilador.</compte></compte></compte*>