Algunos datos interesantes sobre los argumentos predeterminados en C++

Prediga la salida de los siguientes programas C++.

1)

#include <iostream>
void init(int a=1, int b=2, int c=3);
  
int main()
{
    init();
    return 0;
}
void init(int a=1, int b=2, int c=3)
{
    std::cout << a << ' ' << b << ' ' << c;
}

El programa anterior parece correcto a primera vista, pero fallará en la compilación. Si la función usa argumentos predeterminados , los argumentos predeterminados no se pueden escribir tanto en la declaración como en la definición de la función. Solo debe estar en declaración, no en definición.

El siguiente programa ahora es correcto.

#include <iostream>
void init(int a=1, int b=2, int c=3);
int main()
{
    init(); // It is fine
    return 0;
}
void init(int a,int b,int c)
{
    std::cout << a << ' ' << b << ' ' << c;
}

2)

#include <iostream>
  
// something looks missing
void init(int =1, int =2, int =3);
  
int main()
{
    init();
    return 0;
}
  
void init(int a, int b, int c)
{
    std::cout << a << ' ' << b << ' ' << c;
}

Si observa de cerca el prototipo de función, parece un error, pero en realidad no lo es. Los nombres de las variables se pueden omitir en los argumentos predeterminados.

Este artículo es una contribución de Pravasi Meet . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *