Maison >développement back-end >C++ >Erreur C++ : échec de la liaison correcte de la fonction, comment y remédier ?
Lors de l'écriture de programmes en C++, vous rencontrez parfois le problème de ne pas lier correctement les fonctions. Cela se produit généralement lorsque le compilateur ne trouve pas la définition de la fonction. Lorsque ce problème survient, nous devons y remédier. Ensuite, nous présenterons la définition de la fonction qui ne peut pas être liée correctement et comment la gérer.
1. Échec de la liaison correcte de la définition de la fonction
Échec de la liaison correcte de la fonction, ce qui signifie que le compilateur ne peut pas associer la référence du symbole à la définition du symbole et ne peut pas trouver l'implémentation de la fonction requise. Lors de la compilation, le compilateur vérifiera si la fonction utilisée dans le code a une implémentation. Si aucune implémentation n'est trouvée, il émettra une erreur "symbole non résolu". Ce message d'erreur indique généralement quel fichier et quelle ligne l'erreur s'est produite. Les messages d'erreur courants sont les suivants :
xxx.obj : error LNK2019: unresolved external symbol “symbol” referenced in function “function”
xxx.exe : fatal error LNK1120: 1 unresolved externals
Parmi eux, xxx
représente le nom du programme, symbol
est le nom du symbole qui n'a pas été trouvé et function
est le symbole appelé nom de fonction. xxx
表示程序名,symbol
是未找到的符号名,function
是调用该符号的函数名。
二、未能正确链接函数的原因
常见的原因是缺少库文件,而库文件中包含了函数的定义。解决方法是添加此库文件路径到项目属性的附加库目录下。
有时候函数的定义与声明不一致,如函数定义为int func(int a)
,但在调用时发现函数声明为int func(char a)
int func(int a)
, mais quand elle l'est. appelé, on constate que la déclaration de fonction est int func(char a)
. Dans ce cas, la définition et la déclaration doivent être modifiées pour être cohérentes.
Vérifiez l'orthographe du nom de la fonction
🎜🎜Assurez-vous que le nom de la fonction est correctement orthographié et cohérent avec la définition. 🎜🎜🎜Mettez l'implémentation de la fonction dans un fichier d'en-tête🎜🎜🎜Mettez l'implémentation de la fonction dans un fichier d'en-tête et assurez-vous d'inclure le fichier d'en-tête lors de l'appel de la fonction. 🎜🎜Résumé🎜🎜L'incapacité de lier correctement les fonctions entraînera l'échec de la compilation du programme, causant de nombreux désagréments aux programmeurs. Afin d'éviter cette situation, il est nécessaire de faire un bon travail de déclaration de fonction, de définition et de référence des fichiers de bibliothèque. S'il y a un problème pour lequel la fonction ne peut pas être correctement liée, il est préférable de le dépanner et de le résoudre étape par étape, de connaître les raisons spécifiques et de le traiter en conséquence. 🎜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!