Maison > Article > développement back-end > Comment résoudre l'erreur de compilation C++ : « aucune fonction correspondante pour l'appel à « fonction » ?
Résoudre l'erreur de compilation C++ : 'aucune fonction correspondante pour l'appel à 'fonction', comment la résoudre ?
Lors de l'écriture de programmes en C++, nous rencontrons souvent diverses erreurs de compilation. L'une des erreurs courantes est "aucune fonction correspondante pour l'appel à 'fonction'". Cette erreur se produit généralement lorsqu'une fonction est appelée et que le compilateur ne trouve pas de déclaration ou de définition de fonction correspondante. Cet article explique comment résoudre cette erreur de compilation et fournit un exemple de code.
Tout d'abord, regardons un exemple simple :
#include <iostream> void add(int a, int b) { std::cout << "Sum: " << a + b << std::endl; } int main() { add(1, 2, 3); // 调用了错误的函数 return 0; }
Dans le code ci-dessus, nous définissons une fonction d'ajout pour calculer la somme de deux entiers. Dans la fonction principale, nous avons appelé par erreur la fonction add et passé trois paramètres. Puisque nous n'avons pas fourni de version surchargée de la fonction add acceptant trois paramètres, le compilateur ne pourra pas trouver une déclaration ou une définition de fonction correspondante, ce qui entraînera une erreur de compilation.
Pour résoudre ce problème, nous devons examiner le message d'erreur et trouver la ligne de code qui a mal tourné. Le compilateur fournit généralement des indications sur l'erreur dans le message d'erreur, comme aucune déclaration ou définition de fonction correspondante trouvée, etc. Sur la base de ces conseils, nous pouvons déterminer pourquoi l'erreur s'est produite et modifier le code en conséquence.
Dans cet exemple, le compilateur signalera une erreur : "aucune fonction correspondante pour l'appel à 'ajouter'". Ce message d'erreur nous indique que la fonction d'ajout que nous avons appelée n'a pas trouvé de déclaration ou de définition de fonction correspondante. Afin de corriger cette erreur, nous devons modifier les paramètres de l'appel de fonction pour nous assurer qu'ils sont cohérents avec les paramètres définis par la fonction.
La façon de corriger l'erreur ci-dessus est de supprimer les paramètres supplémentaires afin que l'appel de fonction corresponde à la définition de la fonction comme indiqué ci-dessous :
#include <iostream> void add(int a, int b) { std::cout << "Sum: " << a + b << std::endl; } int main() { add(1, 2); return 0; }
Dans le code modifié, nous avons supprimé le paramètre supplémentaire "3" afin que l'appel de fonction corresponde la fonction Définir la correspondance. De cette façon, le compilateur pourra trouver la définition de la fonction nommée add et compiler le programme avec succès.
En plus de l'inadéquation des paramètres d'appel de fonction, il existe d'autres raisons courantes qui peuvent provoquer l'erreur « aucune fonction correspondante pour l'appel à la « fonction » ». Vous trouverez ci-dessous quelques situations et solutions courantes.
Pour résumer, lorsque nous résolvons l'erreur de compilation C++ "aucune fonction correspondante pour l'appel à 'fonction'", nous devons d'abord vérifier le message d'erreur et déterminer la cause de l'erreur. Nous pouvons ensuite utiliser les astuces fournies par le message d'erreur pour modifier le code afin de garantir que l'appel de fonction correspond à la déclaration ou à la définition de la fonction. En modifiant correctement les paramètres de la fonction appelante, nous pouvons résoudre avec succès cette erreur de compilation afin que le programme puisse se compiler et s'exécuter avec succès.
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!