Eh bien, c'est vraiment étrange ce qui m'arrive, mais je vais essayer de le rendre clair. J'ai une classe et dans une méthode je décide de mettre un lancer (dans la définition de hpp et dans l'implémentation de cpp). donc j'ai ma méthode qui peut lancer une exception std :: exception. Ici pas de problème.C++ Linker échoue parce que j'ajoute un jet
je crée une exception à moi:
class MyException : public std::exception {
public:
MyException() throw();
~MyException() throw();
const char what() const throw();
}
ok, nous allons l'utiliser dans mes méthodes de:
class myclass {
void mymethod() throw(std::exception);
}
Pour:
class myclass {
void mymethod() throw(MyException); // I have included hpp file where MyException is defined
}
OK! ce que je reçois
/tmp/ccwSS5GE.o:(.gcc_except_table+0x84): référence non définie à 'typeinfo pour MyException' collect2: ld retourné 1 état de sortie
POURQUOI?? Avec std :: exception tout fonctionne bien, maintenant rien ne fonctionne bien.
[Ce fil devrait aider] (http: //stackoverflow.com/questions/307352/g-undefined-reference-to-typeinfo). Vérifiez spécifiquement [la réponse de Tyler McHenry] (http://stackoverflow.com/questions/307352/g-undefined-reference-to-typeinfo/307440#307440) - si vous ne pouvez toujours pas le résoudre, veuillez nous montrer tout votre code et comment vous essayez de l'utiliser. – birryree
L'éditeur de liens ne s'est pas écrasé. Il a simplement signalé une erreur dans votre programme. –
L'ordre de liaison joue le rôle dans unix. essayer ça? – Muggen