Roh*_*hit 10 c++ arrays pass-by-reference
我想写一个函数,它接受inArray[3] = {1,2,3,4}和outArray[3],并outArray[3]在函数内修改,现在包含values = {3,4,1,2}.
int main{
int inArray[4] = {1,2,3,4};
int outArray[4];
myFunction(&inArray, &outArray);
}
void myFunction(&inArray, &outArray){
outArray[0] = inArray[2];
outArray[1] = inArray[3];
outArray[2] = inArray[0];
outArray[3] = inArray[1];
}
Run Code Online (Sandbox Code Playgroud)
我在这里做错了,我并不完全理解如何通过引用传递数组并操纵函数内部的值.
该函数及其调用可以如下所示
const size_t N = 4;
void myFunction( int ( &inArray )[N], int ( &outArray )[N] )
{
outArray[0] = inArray[2];
outArray[1] = inArray[3];
outArray[2] = inArray[0];
outArray[3] = inArray[1];
}
int main()
{
int inArray[N] = {1,2,3,4};
int outArray[N];
myFunction( inArray, outArray );
}
Run Code Online (Sandbox Code Playgroud)
考虑到您对数组的定义
int inArray[3] = {1,2,3,4};
Run Code Online (Sandbox Code Playgroud)
包含拼写错误,不会被编译。必须至少有类似
int inArray[4] = {1,2,3,4};
Run Code Online (Sandbox Code Playgroud)
或者
int inArray[] = {1,2,3,4};
Run Code Online (Sandbox Code Playgroud)