ポインターを交換する関数に取り組んでいますが、これが機能しない理由がわかりません。スワップ関数で r と s を出力すると、値がスワップされます。これにより、p と q の参照によって渡すため、理解できないコピーを操作していると思われます。
void swap(int *r, int *s)
{
int *pSwap = r;
r = s;
s = pSwap;
return;
}
int main()
{
int p = 7;
int q = 9;
swap(&p, &q);
cout << "p = " << p << "q= " << q << endl;
return 0;
}
プリント: p = 7q = 9