函数中传递的变量引用未递增

时间:2018-11-04 13:11:34

标签: c++ function pointers parameters

作为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 :(得分:2)

以下是使用两种不同方法完成任务的解决方案。

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

这些解决方案均可以完成您的任务。 要调用第二个函数,请使用test(variable)