¿Qué hace el compilador de C ++ cuando vienen parámetros predeterminados ambiguos?

¿Qué hace el compilador de C ++ cuando vienen parámetros predeterminados ambiguos? Por ejemplo, digamos que había una función como:

void function(int a = 0, float b = 3.1);
void function(int a, float b =1.1, int c = 0);

¿Se considera lo anterior ambiguo? Si no, ¿qué hace el compilador (cómo coincide exactamente la función) al llamar a algo comofunction1(10) ?

¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta