Как изменять значение глобальной переменной
У меня есть переменная string str, изначально она пустая. Так же есть рекурсивная функция F(n);
void F(int n)
{
str += to_string(n + 1);
if (n > 1) {
str += to_string (2 * n);
F(n - 1);
F(n - 3);
}
}
int main()
{
string str = "";
int z;
cin >> z;
F(z);
}
Мне нужно чтобы все значения операций записывались в строку str, как это можно реализовать?
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
от лучшего к худшему
способ 1:
передайте вашу строку функции по ссылке
void F(int n, std::string& str)
способ 2:
передайте в функцию указатель на вашу строку
void F(int n, std::string* str)
правда внутри функции придется работать вот так:
*str += to_string(n + 1);
способ 3:
сделайте вашу строку глобальной:
std::string str = "";
void F(int n)
{
// тут код
}
int main()
{
// тут код
}