Maison > Article > développement back-end > Résoudre l'erreur de compilation C++ : « fonction » ne prend pas « n » arguments
Résoudre les erreurs de compilation C++ : « fonction » ne prend pas « n » arguments
En programmation C++, diverses erreurs de compilation sont souvent rencontrées. L'une des erreurs courantes est : "'fonction' ne prend pas 'n' arguments", ce qui signifie que la fonction ne prend pas n arguments.
Cette erreur se produit généralement lorsqu'une fonction est appelée. Les paramètres réels transmis sont incohérents avec le nombre de paramètres requis lorsque la fonction est déclarée, ou les types ne correspondent pas. Il existe plusieurs façons de résoudre cette erreur.
#include <iostream> int add(int a, int b) { return a + b; } int main() { int result = add(1); std::cout << result << std::endl; return 0; }
Lors de la compilation de ce code, une erreur se produit : "'ajouter' ne prend pas 1 argument". La façon de résoudre cette erreur consiste à transmettre deux paramètres de type int lors de l’appel de la fonction add().
int result = add(1, 2);
La façon de résoudre ce problème est de s'assurer que la déclaration et la définition de la fonction sont cohérentes. Par exemple, dans l'exemple de code suivant, la déclaration et la définition de la fonction add() ne correspondent pas au nombre de paramètres. Il nécessite deux paramètres de type int lors de sa déclaration, mais il n'y a qu'un seul paramètre lorsqu'il est défini.
// 头文件 add.h int add(int a, int b); // 源文件 add.cpp int add(int a) { return a + 2; } // 主程序 #include <iostream> #include "add.h" int main() { int result = add(1, 2); std::cout << result << std::endl; return 0; }
Lors de la compilation de ce code, une erreur survient : "'add' ne prend pas 2 arguments". La façon de résoudre cette erreur consiste à transmettre deux paramètres de type int lorsque la fonction est définie, la rendant cohérente avec la déclaration.
// 源文件 add.cpp int add(int a, int b) { return a + b; }
Par exemple, on peut surcharger la fonction add() pour qu'elle accepte soit deux ou trois paramètres. Voici un exemple de code :
#include <iostream> int add(int a, int b) { return a + b; } int add(int a, int b, int c) { return a + b + c; } int main() { int result1 = add(1, 2); std::cout << result1 << std::endl; int result2 = add(1, 2, 3); std::cout << result2 << std::endl; return 0; }
L'utilisation de la surcharge de fonctions peut s'adapter de manière flexible aux appels de fonction avec différents nombres de paramètres et éviter les erreurs de compilation avec un nombre de paramètres incohérent.
Diverses erreurs de compilation sont souvent rencontrées en programmation. Pour l'erreur "'fonction' ne prend pas 'n' arguments", nous pouvons vérifier le nombre et le type de paramètres dans l'appel de fonction pour nous assurer que la déclaration et la définition de la fonction sont cohérentes. , et utiliser la surcharge de fonctions et d'autres méthodes peuvent être utilisées pour résoudre ce problème. La gestion des erreurs et le débogage en temps opportun peuvent améliorer l’efficacité de la programmation et nous aider à écrire un code plus robuste et plus fiable.
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!