
Сообщение от
koderman
funk(4, 6.0);
Так можно, неоднозначности избежишь. А если в качестве аргументов переменные, то типы можно явно преобразовать:
C++ |
1
| funk(static_cast<double>(x), y); |
|
Но лучше всего не плодить такие перегруженные функции, чтобы путаницы не было. Дальше будешь шаблоны функций изучать, увидишь что перегрузка не всегда и нужна.
Добавлено через 24 секунды

Сообщение от
koderman
Какую функцию выберет?
Так ты скомпилировать попробуй.
Добавлено через 5 минут
Вот вызовы твоих функций:
C++ |
1
2
3
4
| funk(1, 2);
funk(1.0, 2);
funk(1, 2.0);
funk(1.0, 2.0); |
|
Для первых трех будет найдено
точное соответствие. А последняя - неоднозначность, т.к. функции для двух даблов у нас нет.
Добавлено через 2 минуты

Сообщение от
koderman
Есть ведь ещё char. А в char слышал можно вносить маленькие числа.
Чар это по сути и есть целочисленный тип. Просто вывод для переменных этого типа перегружен таким образом, что печатает на экране символ, а не число.