对于下面的代码,为什么变量x,y,s传递值而仅z是传递引用。
void foo(int* a,int* b,int& c,int d) {
*a = *a + 1;
b = b + 1;
c = c + 1;
d = d + 1;
}
int main() {
int x = 0,y = 5,z = 10,s = 20;
foo(&x,&y,z,s);
cout << x << “,” << y << “,” << z <<“,” << s <<endl;
return 0;
}