Я пишу программу, которая позволяет пользователю вводить целое число в переменную value
и вызывает две альтернативные функции, каждая из которых утроит выбранное целочисленное значение. Функция triple_by_value
передает переменное число по значению, утроит параметр и возвращает результат.Call-by-reference и Call-by-value
Функция triple_by_reference
передает номер переменной по ссылке и утроит исходное значение числа через опорный параметр.
#include <iostream>
using namespace std;
int main()
{
cout << "Enter a number (-1 to end): ";
cin >> value;
if (value != -1)
{
triple_by_value(value);
cout << "Triple-By-Value: " << value << endl;
triple_by_reference(value);
cout << "Triple-By-Reference: " << value << endl;
}
return 0;
}
int triple_by_value(int value)
{
value *= 3;
return value;
}
int triple_by_reference(int &value)
{
value *= 3;
return value;
}
Кажется, у меня проблема, когда функция triple_by_value
не является, а, утроением значения, просто печатая его как есть.
Любая помощь будет высоко оценена.
«Функция TripleByValue передает значение переменной по значению, утроит параметр и возвращает результат». и ваш код быстро удалит этот результат. –
Как будто вы прекрасно объясняете свой код, а затем как-то забываете, что вы только что сказали: p – keyser
@keyser Я получаю это иногда xD – Leo