#include <iostream>
void swap(int &pi, int &pj){
std::cout << "In function swap: " << &pi << " " << &pj << "\n";
int temp = pi;
pi = pj;
pj = temp;
}
int main(){
int i = 10, j = 20;
int *pi = &i, *pj = &j;
swap(pi, pj);
std::cout << *pi << " " << *pj;
return 0;
}
上記のプログラムでは、コンパイル エラーは発生しません。(POINTER TO REFERENCEタイプではなく関数を交換しますが)適切な出力を提供します。しかし、 「スワップ」関数内で印刷しようとしているものは何でもconsole に印刷されません。誰でも理由を説明できますか?