15,979
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
void chat(int a);
void chat(int *a);
void chat(int &a);
void main(void)
{
int x=2;
int* p=&x;
chat(x);//这样调用为什么会有错,不调用chat(int a),为什么分不清是调用chat(int a)还是chat(int &a)? //chat(*p)//也是错的,也不能调用chat(int a),原因跟上面的调用一样
cout<<"x= "<<x<<endl;
chat(p);//这里调用chat(int *a)
cout<<"x= "<<x<<endl;
chat(x);//如果没有void chat(int a),就调用void chat(int &a)这个函数,这里是个地址,第一个调用却是个值。
cout<<"a= "<<x<<endl;
}
void chat(int a)
{
a=20;
}
void chat(int *a)
{
*a=200;
}
void chat(int &a)
{
a=2000;
}