为什么呢?
#include <iostream>
int func1(int& b)
{
return 0;
}
void func2()
{
int bbb = 3;
func1(bbb); //对
//func1(&bbb); //错
}
int main()
{
func2();
return 0;
}
[解决办法]
int func1(int& b) //楼主误会了,这个函数的参数是个引用,而并非是指针{ return 0;}
[解决办法]
int func1(int& b)
形参的意思 是接收一个整型值的引用。
&b表示 b的地址。当然不能这么传啦。
lz多看看引用的知识。
[解决办法]
&bbb,这是取地址
[解决办法]
既然func1的参数应该不是指针,那么调用它的时候就不能传地址当int func3(int *b)这样定义的时候,你可以这样调用 func3(&bbb);
[解决办法]
找本书看看引用和指针的区别
[解决办法]
func1((int&)bbb),这样可以
[解决办法]
形参就是让定义的这个形参直接等于传过去的实参。。。。