void func(int *a,int *b)用这样的指针参数的函数传递的就是地址,像楼主这样定义是不合法的,你定义一个变量时,地址是由编译器自动分配的,你这个就比如:int &a,a本身就是不存在的,所以也就没有地址可言,你直接用&a对他取地址,这当然不合法了如果你想实现"函数功能为交换两变量的值"这样的功能的话,用void func(int *a,int *b)就完全可以了,比如你想交换num1和num2两个变量的值,那你调用func函数的时候调用格式就是func(&num1,&num2);就可以实现交换值的目的了...
|