传引用报错,找不到错误在哪,求助~
int chageA(int *px)
{
*px = 12345;
}
int main()
{
int a ;
chageA(a);
cout << a<<endl;
return 0;
}
小甲鱼视频里说,就算 chageA(&a)变为 chageA(a),计算机也可以直接把a识别为传地址,但是计算机报错了:
"int" 类型的实参与 "int *" 类型的形参不兼容
“int chageA(int *)”: 无法将参数 1 从“int”转换为“int *”
这个传引用是怎么个弄法,不懂了。。。
你这个a是数组还是啥呢 最后的魁拔 发表于 2020-1-9 14:24
你这个a是数组还是啥呢
就只是一个整数啊?就算我初始化了这个整数也是一样报错。。。 我肯定书上一定不是这么写的,你又在探索事物的本质吗?
老老实实,先学加减法,再学乘除法
#include <iostream>
int chageA(int &px)
{
px = 12345;
return 0;
}
int main()
{
int a;
chageA(a);
std::cout << a << std::endl;
return 0;
}
人造人 发表于 2020-1-9 14:52
我肯定书上一定不是这么写的,你又在探索事物的本质吗?
老老实实,先学加减法,再学乘除法
视频里就是这样写的啊?? fiverhythm 发表于 2020-1-9 15:00
视频里就是这样写的啊??
我不信,截图看看,给个视频链接也行,指明几分几秒
传引用是这么写的:int chageA(int &px)
{
px = 12345;
}
int main()
{
int a=0 ;
chageA(a);
cout << a<<endl;
return 0;
}
你是在哪个视频上看的? Croper 发表于 2020-1-9 15:03
传引用是这么写的:
你是在哪个视频上看的?
chageA还返回int
这样写报错
人造人发表于 2020-1-9 15:03
chageA还返回int
这样写报错
。。。我都没看清。。直接改了下{:5_96:}{:5_96:} Croper 发表于 2020-1-9 15:21
。。。我都没看清。。直接改了下
我是直接复制到vs改的,改完直接编译,报错,一看发现chageA还要返回一个int,然后直接return 0;
人造人 发表于 2020-1-9 14:52
我肯定书上一定不是这么写的,你又在探索事物的本质吗?
老老实实,先学加减法,再学乘除法
是我错了,我仔细看了视频,传引用不能用 void f(int * x),而是要用 void f(int &x),但是传地址是用 void f(int * x),所以关键倒不是返回值的问题,是里面参数设置
在里的鞭策下,我终于找到问题所在了,谢谢~~
但是,我真不是跳过+-法,而是边学边去提出疑问,探究到底是什么 fiverhythm 发表于 2020-1-9 15:49
是我错了,我仔细看了视频,传引用不能用 void f(int * x),而是要用 void f(int &x),但是传地址是用 vo ...
学编程一定要认真,对于初学者,95%的错误都是不认真造成的
页:
[1]