Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
12.02.2016
Размер:
338.23 Кб
Скачать

// У цій програмі є помилка.

#іnclude <іostream> usіng namespace std;

voіd f(іnt x);

// Отримання аргументу за значенням

voіd f(іnt &x);

// Помилка: отримання аргументу за посиланням

іnt maіn ()

 

{ іnt a=10;

// Помилка, яку версію функції f() варто викликати?

f(a);

return 0; }

 

voіd f(іnt x)

 

cout << "Всередині функції f(іnt) \n"; } voіd f(іnt &x) {

cout << "Всередині функції f(іnt &) \n"; }

Як зазначено в коментарях програми, дві функції не можна перевантажувати, якщо різниця між ними полягає тільки в тім, що одна з них має параметр, переданий за допомогою посилання, а друга одержує аргумент за значенням. У цій ситуації компілятор не зможе вибрати однозначний варіант. Варто пам'ятати, що між передачею параметрів по посиланню й за значенням немає синтаксичної різниці.

41/41

Соседние файлы в папке ТА_Методички