Переданная ссылка на переменную в функцию не увеличивается - PullRequest
0 голосов
/ 04 ноября 2018

Будучи новичком в C ++, я познакомился с указателями и хотел бы знать, почему следующая программа не работает должным образом:

#include "pch.h"
#include <iostream>

void test(int* variable)
{
    variable++;
}


int main()
{

    int someNumber = 5;

    test(&someNumber);

    std::cout << someNumber;

    return 0;
}

Программа печатает 5, где, насколько я понимаю, она должна печатать 6. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 04 ноября 2018

Вот решения для выполнения вашей задачи с использованием двух разных методов.

void test(int* variable)
{
    (*variable)++;
}
void test(int& variable)
{
    variable++;
}

Каждое из этих решений выполнит вашу задачу. Для вызова второй функции используйте test(variable)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...