una - Punteros de función con parámetros predeterminados en C++
tipos de parametros en c++ (2)
Ambos foo()
y bar()
solo se pueden asignar a func_ptr2
.
§8.3.6 / 2 :
Un argumento predeterminado no es parte del tipo de una función. [Ejemplo:
int f(int = 0);
void h() {
int j = f(1);
int k = f(); // OK, means f(0)
}
int (*p1)(int) = &f;
int (*p2)() = &f; // error: type mismatch
--ejemplo]
¿Cómo maneja C ++ los punteros de función en relación con las funciones con parámetros predeterminados?
Si tengo:
void foo(int i, float f = 0.0f);
void bar(int i, float f);
void (*func_ptr1)(int);
void (*func_ptr2)(int, float);
void (*func_ptr3)(int, float = 10.0f);
¿Qué indicadores de función puedo usar en relación a qué función?
El argumento predeterminado no se puede proporcionar para los punteros a las funciones.