Résoudre l'erreur de compilation C++ : 'référence non définie à 'fonction', comment la résoudre ?
1. Description du problème
Dans le processus de programmation en C++, nous rencontrons souvent des erreurs de compilation. L'une des erreurs courantes est "référence non définie à 'fonction'". Cette erreur se produit généralement pendant la phase de liaison, lorsque le compilateur ne trouve pas la définition de la fonction, ce qui entraîne l'échec de la compilation.
2. Cause de l'erreur
3. Solution
Pour les raisons d'erreur ci-dessus, voici plusieurs solutions courantes.
// function.h int sum(int a, int b);
// main.cpp #include "function.h" int main() { int result = sum(1, 2); return 0; }
Dans le code ci-dessus, nous fournissons uniquement la déclaration de fonction, mais pas la définition de la fonction. Pour résoudre ce problème, nous devons fournir la définition de la fonction à l'endroit approprié :
// function.cpp int sum(int a, int b) { return a + b; }
De cette façon, au moment de la compilation, le compilateur peut trouver la définition réelle de la fonction, résolvant ainsi la "référence non définie à 'fonction' " erreur.
Considérez l'exemple de code suivant :
// function.h float sum(int a, int b); // 函数声明
// function.cpp int sum(int a, int b) { // 函数定义 return a + b; }
Dans le code ci-dessus, la déclaration et les types de valeur de retour définis de la fonction sont incohérents, l'un est déclaré comme type float et l'autre est défini comme type int. Cela empêchera le compilateur de faire correspondre correctement la référence et la définition de la fonction, ce qui entraînera une erreur « référence non définie à « fonction » ».
Afin de résoudre ce problème, il suffit de garder la déclaration de la fonction cohérente avec le type de valeur de retour défini :
// function.h int sum(int a, int b); // 函数声明
// function.cpp int sum(int a, int b) { // 函数定义 return a + b; }
De cette façon, le compilateur peut faire correspondre correctement la référence et la définition de la fonction, résolvant ainsi le problème d'erreur "référence non définie à 'fonction'".
4. Résumé
En programmation C++, les erreurs de compilation ne nous sont pas étrangères. L'une des erreurs courantes est "référence non définie à 'fonction'", ce qui signifie qu'une référence à une fonction n'a pas de définition trouvée. Pour résoudre ce problème, nous devons faire attention à savoir si la définition de la fonction est fournie et si la déclaration de la fonction est cohérente avec sa définition. Ce problème peut être facilement résolu en fournissant correctement la définition de la fonction et en gardant la déclaration de fonction cohérente avec la définition.
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!