#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 类型)并给出正确的输出。但无论我试图在“交换”功能中打印什么,都不会打印到控制台。谁能解释我为什么?