Alors que la compilation avec avr-gcc, j'ai rencontré l'éditeur de liens erreurs telles que les suivantes:
undefined reference to `__cxa_pure_virtual'
J'ai trouvé ce document qui stipule:
L'
__cxa_pure_virtual
fonction est un gestionnaire d'erreur, qui est appelée lorsqu'une fonction virtuelle pure est appelée.Si vous écrivez une application C++ qui a des fonctions virtuelles pures, vous devez fournir votre propre
__cxa_pure_virtual
d'erreur de la fonction du gestionnaire. Par exemple:
extern "C" void __cxa_pure_virtual() { while (1); }
La définition de cette fonction, comme l'a suggéré corrige les erreurs, mais j'aimerais savoir:
- quel est le but de cette fonction est,
- pourquoi j'ai besoin de le définir moi-même et
- pourquoi il est acceptable de code comme une boucle infinie?