J'ai affaire à une situation où j'essaie de définir deux classes qui dépendent l'une de l'autre. Ceci est un exemple simplifié de ce que j'essaie de faire.Déclaration et classes de renvoi
class a{
public:
int ia;
int printb(b in){
return in.ib;
}
};
class b{
public:
int ib;
int printb(a in){
return in.ia;
}
};
Ceci me donne des erreurs de classe b non définies. J'ai essayé
class b;
class a{
public:
int ia;
int printb(b in){
return in.ib;
}
};
class b{
public:
int ib;
int printb(a in){
return in.ia;
}
};
Mais cela ne résout pas le problème. Des idées?
Pensez-y: Comment est le compilateur censé savoir ce 'in.ib de retour,' signifie sans connaître la définition de 'b'? Vous devez définir 'b' avant de définir' a :: printb'. –
Alors déclarez seulement les sous-routines dans les classes et définissez-les plus tard? – WhatWouldKantDo
Oui. Il y a probablement une dupe pour ça, mais je ne sais pas comment chercher ça non plus. :/ –