我寫了一個叫swap的函數,給出了函數內給定的兩個元素。但是當我在另一個功能中使用它時,它不起作用。如何讓它工作?在函數內改變給定的函數參數C++
#include <iostream>
using namespace std;
void swap(int *a, int * b){
int temp=*a;
*a=*b;
*b=temp;
}
void sum(int x, int y){
int *a;
a = &x;
int *b;
b=&x;
swap(a,b);
//cout << x << endl << y << endl;
}
int main(){
int a=0, b=1;
//swap(a,b);
sum(a,b);
cout << a << endl << b << endl;
return 0;
}
有兩件事:第一,調用一個函數'sum'非常奇怪,它使用兩個整數,但既不返回整數也不計算總和。第二:你不應該使用指針。這是可怕的C風格,而不是C++ – stefan