Скажем, у нас есть
struct Test {
void foo(int *);
void foo(float);
} test;
Учитывая следующий вызов метода:
test.foo(1);
Компилятор разрешит ее, вызвав Test::foo(float)
, выполнив неявное преобразование из int
в float
.
Можно ли как-то получить сигнатуру разрешенной таким образом перегрузки метода как тип указателя, т.е. void (Test::*)(float)
?
Самое близкое к положительному ответу, которое я мог получить, это ответ на другой вопрос, однако этот подход не сработает в случае неявное преобразование одного или нескольких параметров.