Почему доступная функция не вызывается через неявное преобразование?

Почему следующая программа выдаёт ошибку, а не вызывает доступную функцию с int-ом через неявное преобразование к 42?

struct A {
    void foo(int);    
private:
    void foo(double);
} a;

int main() {
    a.foo(42.);
}

Ответы (0 шт):