Аргументы функции: скопированы по умолчанию, поэтому изменение копии (в данном случае a
) не повлияет на оригинал (в данном случае number
).
В Если функции изменяют переменные вызывающего абонента, вы должны использовать ссылку.
Также обратите внимание, что int addOne(number);
в вашей функции main
не является вызовом функции, а является объявлением переменной addOne
с инициализацией number
.
#include <iostream>
int number = 0;
int addOne(int& a); // add "&"
int main()
{
std::cout << "Please type a number to add to one: ";
std::cin >> number;
std::cout << number << " plus one equals: ";
addOne(number); // remove "int"
std::cout << number;
}
int addOne(int& a) { // add "&"
return a++;
}