Especificar el parámetro predeterminado al llamar a la función C ++
Supongamos que tengo un código como este:
void f(int a = 0, int b = 0, int c = 0)
{
//...Some Code...
}
Como evidentemente puede ver arriba con mi código, los parámetrosa
,b
yc
tienen valores de parámetro predeterminados de 0. Ahora eche un vistazo a mi función principal a continuación:
int main()
{
//Here are 4 ways of calling the above function:
int a = 2;
int b = 3;
int c = -1;
f(a, b, c);
f(a, b);
f(a);
f();
//note the above parameters could be changed for the other variables
//as well.
}
Ahora sé que no puedo omitir un parámetro y dejar que tenga el valor predeterminado, porque ese valor se evaluaría como el parámetro en esa posición. Lo que quiero decir es que no puedo, digamos llamar,f(a,c)
, porque,c
sería evaluado comob
, que es lo que no quiero, especialmente sic
Es el tipo incorrecto. ¿Hay alguna manera de que la función de llamada especifique en C ++, para usar cualquier valor de parámetro predeterminado que haya para la función en cualquier posición, sin limitarse a retroceder desde el último parámetro a ninguno? ¿Hay alguna palabra clave reservada para lograr esto, o al menos una solución alternativa? Un ejemplo que puedo dar sería como:
f(a, def, c) //Where def would mean default.