私はこのようなコードをたくさん持っています:
#include <iostream>
using namespace std;
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int a;
int b;
a = 7;
b = 5;
swap(a, b);
cout << a << b;
return 0;
}
このコードは、私が正確に2つの番号を交換したかったのと同じように交換プロセスを実行しますが、ユーザーから2つの番号が必要な場合は次のようになります。
int a;
int b;
cin >> a;
cin >> b;
swap(a, b);
cout << a << b;
コンパイラは、予想どおりのエラーが発生int
しint*
ます。&
演算子でメソッドを使用しなかったのに、なぜ最初のコードが正しいスワッピングを行うのですか?