Maison > développement back-end > C++ > Pourquoi g renvoie-t-il une erreur « référence non définie à typeinfo » lors de la liaison ?

Pourquoi g renvoie-t-il une erreur « référence non définie à typeinfo » lors de la liaison ?

Barbara Streisand
Libérer: 2024-12-02 16:17:13
original
335 Les gens l'ont consulté

Why Does g   Throw an

Comprendre l'erreur "g référence non définie à typeinfo"

L'erreur "référence non définie à typeinfo" dans g est souvent rencontrée lors de la liaison de plusieurs unités de compilation. Cela indique que l'éditeur de liens n'est pas en mesure de résoudre une référence aux informations de type pour une classe spécifique.

Cette erreur peut se produire lorsqu'une fonction virtuelle est déclarée dans un fichier d'en-tête mais n'est pas définie dans le fichier source correspondant. Lorsqu'une fonction virtuelle est déclarée sans définition, elle est essentiellement déclarée comme « externe », ce qui signifie que son implémentation est supposée être fournie ailleurs. Cependant, si la fonction n'est jamais définie, l'éditeur de liens ne parviendra pas à trouver son implémentation lors de la liaison.

Ce type d'erreur ressemble également à des situations où une variable externe est déclarée sans définition dans une unité de compilation et sans pointeur vers il est utilisé dans une autre unité de compilation. Au moment du lien, l'éditeur de liens ne peut pas résoudre l'adresse de la variable non définie et génère l'erreur.

Pour résoudre cette erreur, il est nécessaire de définir la fonction virtuelle dans le fichier source où elle est déclarée. Cela fournit à l'éditeur de liens les détails d'implémentation nécessaires pour résoudre avec succès la référence aux informations de type.

En comprenant les raisons sous-jacentes de cette erreur, les développeurs peuvent résoudre efficacement les problèmes et s'assurer que leur code est correctement défini et compilé sans indéfini. références.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal