En suivant le cours : "Apprenez à programmer en C++", j'ai appris l'utilisation des destructeurs, cependant, lors de la compilation, le message d'erreur suivant apparaît :
Undefined symbols for architecture x86_64:
"Personnage::~Personnage()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Savez vous comment réparer ce problème ?
Je vous remercie, et vous souhaite une bonne journée !
L'erreur indique que tu as indiqué que ton objet nécessite un destructeur particulier, mais tu n'en a défini nulle part le code qui lui correspond. Es_tu sûr d'avoir compris ce qu'est un destructeur? Tout objet a un destructeur, le plus souvent le compilateur le crée automatiquement. T'as la possibilité d'en définir un particulier à ton cas, a toi d'indiquer ce qu'il faut faire au moment de la destruction.
Avec un peut de chances, tu as écrit quelque chose comme suit:
class Personnage
{
public:
Personnage();
~Personnage();
};
Personnage::Personnage()
{
}
Tu définis un destructeur, mais pas son implémentation. Normal que le linker, ne retrouvant pas tous ses petits, t'insulte comme il se doit.
Destructeurs en C++ et xCode
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
En recherche d'emploi.