Inicialización de la variable en el encabezado de la función C ++
Me he encontrado con un código C ++ que se ve así (simplificado para esta publicación):
(Aquí está el prototipo de la función ubicado ensomeCode.hpp
)
void someFunction(const double & a, double & b, const double c = 0, const double * d = 0);
(Aquí está la primera línea del cuerpo de la función ubicada ensomeCode.cpp
ese#include
'ssomeCode.hpp
)
void someFunction(const double & a, double & b, const double c, const double * d);
¿Puedo llamar legalmente asomeFunction
utilizando
someFunction(*ptr1, *ptr2);
y / o
someFunction(*ptr1, *ptr2, val1, &val2);
donde las variablesptr1
, ptr2
, val
yval2
se han definido adecuadamente yval1
yval2
no es igual a cero? ¿Por qué o por qué no
Y si es legal, ¿se prefiere esta sintaxis a sobrecargar una función para tener en cuenta los parámetros opcionales?