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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数中传递的变量引用不递增相关的知识,希望对你有一定的参考价值。

作为一名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.任何人都可以帮助我吗?

答案

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

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

每个解决方案都将完成您的任务。要调用第二个函数,请使用test(variable)

以上是关于函数中传递的变量引用不递增的主要内容,如果未能解决你的问题,请参考以下文章

PHP函数的引用传递(地址传递)

函数何时值传递,何时指针,何时引用传递总结

通过引用传递表达式与通过引用传递变量

使用 ViewModel 和 LiveData 递增变量的简单片段示例 - 变量始终为空

通过单击按钮传递变量[重复]

如何在导航抽屉活动模板中的片段之间传递字符串变量