Demasiados argumentos para el error de función en C++

Namita Chaudhary 12 octubre 2023
  1. Funciones en C++
  2. el error demasiados argumentos para funcionar en C++
  3. Resolver el error demasiados argumentos para funcionar en C++
  4. Conclusión
Demasiados argumentos para el error de función en C++

Nos encontramos con muchos errores al escribir un fragmento de código. Resolver errores es una de las partes más cruciales de la programación.

Este artículo discutirá un error que encontramos en C++: “demasiados argumentos para funcionar”.

Funciones en C++

El demasiados argumentos para funcionar es un error en C++ que nos encontramos cuando especificamos diferentes argumentos en la declaración y la implementación de una función.

Para comprender este error y solucionarlo, primero debemos discutir qué son las funciones.

Una función es un bloque de código que es reutilizable y se utiliza para realizar tareas repetitivas. Supongamos que queremos imprimir "Hello World" en un programa cinco veces.

Ahora bien, una forma de hacerlo es escribir la declaración print cada vez que queramos imprimirla, mientras que la otra forma eficiente sería hacer una función donde se escribiría el código para escribir "Hello World", y esta función sería llamada cada vez que la necesitemos.

La función que imprime "Hello World" se implementará a continuación.

#include <iostream>
using namespace std;
void print();
int main() {
  print();
  print();
  print();
  print();
  return 0;
}
void print() { cout << "Hello World" << endl; }

Producción :

Hello World
Hello World
Hello World
Hello World

Sin embargo, si escribimos la función print() después de main(), primero debemos declarar la función antes de main() para que el compilador sepa que existe una función llamada print(). en el programa.

el error demasiados argumentos para funcionar en C++

Los argumentos son valores que se definen cuando se llama a una función. El error demasiados argumentos para funcionar ocurre debido a estos argumentos en una función.

El número de argumentos debe ser el mismo en la llamada de función y en la declaración de función de un programa. Obtenemos este error cuando el número de argumentos es diferente en la declaración de la función y la llamada a la función.

Veamos un código para representar lo que significan estos diferentes argumentos. A continuación se muestra el fragmento de código que arroja un error que indica que hay demasiados argumentos en una función.

#include <iostream>
using namespace std;

void addition();

int main() {
  addition(4, 5);
  return 0;
}

void addition(int a, int b) {
  cout << "Addition of the numbers " << a << " and " << b << " = " << (a + b)
       << endl;
}

Producción :

./6e359960-d9d7-4843-86c0-b9394abfab38.cpp: In function 'int main)':
./6e359960-d9d7-4843-86c0-b9394abfab38.cpp:7:14: error: too many arguments to function 'void addition)'
  addition4,5);
              ^
./6e359960-d9d7-4843-86c0-b9394abfab38.cpp:4:6: note: declared here
 void addition);
      ^

En el fragmento de código anterior, hemos utilizado la función adición() para sumar los dos números. En la tercera línea, hemos declarado la función suma() sin argumentos (los argumentos están presentes entre paréntesis de una función).

Sin embargo, cuando hacemos o definimos la función suma(), le hemos pasado dos argumentos, a y b, para que se puedan sumar estos dos números. Por lo tanto, este desajuste en el número de argumentos hace que demasiados argumentos funcionen.

Resolver el error demasiados argumentos para funcionar en C++

El error demasiados argumentos para funcionar en C++ se puede resolver considerando la cantidad de argumentos pasados a la función al declararla y definirla.

Tomemos el mismo ejemplo anterior y resolvamos su error.

#include <iostream>
using namespace std;
void addition(int, int);
int main() {
  addition(4, 5);
  return 0;
}
void addition(int a, int b) {
  cout << "Addition of the numbers " << a << " and " << b << " = " << (a + b)
       << endl;
}

Producción :

Addition of the numbers 4 and 5 = 9

Por lo tanto, como puede ver, el error se ha eliminado y nuestro resultado de sumar dos números se ha mostrado correctamente. Acabamos de agregar los dos tipos int a la declaración de la función en la tercera línea.

De esta forma, antes de encontrar la función addition(), el compilador sabe que existe una función addition() en nuestro programa que tomará argumentos en él.

Conclusión

Este artículo ha discutido “demasiados argumentos para funcionar”. Hemos discutido brevemente las funciones, cómo ocurre este error en el programa C++ y cómo resolverlo.

Sin embargo, lo principal al resolver este error sería que debería haber la misma cantidad de argumentos dondequiera que se defina o declare la función.

Artículo relacionado - C++ Error