Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数中传递的变量引用不递增 作为C++初学者,我被介绍给指针,我想知道为什么下面的程序不能正常工作:< /P> #include "pch.h" #include <iostream> void test(int* variable) { variable++; } int main() { int someNumber = 5; test(&someNumber); std::cout << someNumber; return 0; } #包括“pch.h” #包括 无效测试(int*变量) { 变量++; } int main() { int someNumber=5; 测试(&someNumber); std::cout_C++_Function_Pointers_Parameters - Fatal编程技术网

函数中传递的变量引用不递增 作为C++初学者,我被介绍给指针,我想知道为什么下面的程序不能正常工作:< /P> #include "pch.h" #include <iostream> void test(int* variable) { variable++; } int main() { int someNumber = 5; test(&someNumber); std::cout << someNumber; return 0; } #包括“pch.h” #包括 无效测试(int*变量) { 变量++; } int main() { int someNumber=5; 测试(&someNumber); std::cout

函数中传递的变量引用不递增 作为C++初学者,我被介绍给指针,我想知道为什么下面的程序不能正常工作:< /P> #include "pch.h" #include <iostream> void test(int* variable) { variable++; } int main() { int someNumber = 5; test(&someNumber); std::cout << someNumber; return 0; } #包括“pch.h” #包括 无效测试(int*变量) { 变量++; } int main() { int someNumber=5; 测试(&someNumber); std::cout,c++,function,pointers,parameters,C++,Function,Pointers,Parameters,以下是使用两种不同方法完成任务的解决方案 void test(int* variable) { (*variable)++; } void test(int& variable) { variable++; } 这些解决方案中的每一个都将完成您的任务。 要调用第二个函数,请使用test(variable),因为您正在递增指针,而不是它指向的值。请尝试++*variable;。变量+++递增指针,而不是指针指向的值。尝试(*variable)++相反。你不是通过引用传递,

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

void test(int* variable)
{
    (*variable)++;
}
void test(int& variable)
{
    variable++;
}
这些解决方案中的每一个都将完成您的任务。
要调用第二个函数,请使用
test(variable)

,因为您正在递增指针,而不是它指向的值。请尝试
++*variable;
。变量+++递增指针,而不是指针指向的值。尝试
(*variable)++
相反。你不是通过引用传递,而是通过值传递指针。你可能是想写
(*变量)+;
增加指针做一些不同的事情。@Matt
*p++
*(p++)
相同;它增加
p
,而不是
*p