Что делает компилятор C ++, когда приходят неоднозначные параметры по умолчанию?

Что делает компилятор C ++ при получении неоднозначных параметров по умолчанию? Например, предположим, что была функция, такая как:

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

Считается ли вышеупомянутое неоднозначным? Если нет, что делает компилятор (как точно совпадает функция) при вызове чего-то вроде function1 (10) ?

Спасибо!

5
задан outis 3 June 2012 в 02:11
поделиться