Я не знаю про всі мови програмування, але зрозуміло, що зазвичай не підтримується можливість перевантаження методу з урахуванням його типу повернення (за умови, що його аргументи однакові за кількістю та типом).
Я маю на увазі щось подібне:
int method1 (int num)
{
}
long method1 (int num)
{
}
Справа не в тому, що це велике питання для програмування, але в деяких випадках я б вітав це.
Очевидно, що ці мови не могли б підтримати це без способу розмежування того, який метод викликається, але синтаксис для цього може бути таким же простим, як щось на зразок [int] method1 (num) або [long] method1 (num) таким чином компілятор буде знати, що було б тим, що буде називатися.
Я не знаю, як працюють компілятори, але це виглядає не так складно, тому мені цікаво, чому щось подібне зазвичай не реалізується.
Які причини того, що щось подібне не підтримується?
Foo
таBar
.