Да даже и без перегрузки. Вот пример на C++: (Click to View)
PHP Code:
template <class T> T get_value_of_array(T* array, unsigned int number) // получение значения элемента массива с номером number { return *(array + number); }
int main() { double arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; // вводим массив из 10 элементов double val_1 = get_value_of_array(arr, 5); // функция вернёт значение 5-го элемента массива arr, то есть число 5 double val_2 = get_value_of_array(arr, -5); // ошибка или варнинг на этапе компиляции!
return 0; }
Как видно - никаких сложностей, ошибка будет обнаружена сразу. А что в Обероне будет? Ведь в нём в сигнатуре функции get_value_of_array должен стоять int...