为什么在VC++6.0下用C语言调用引用参数如:void Creat(SqList &L)总是提示&出错?
答案:3 悬赏:20 手机版
解决时间 2021-01-14 08:44
- 提问者网友:太高姿态
- 2021-01-13 15:37
为什么在VC++6.0下用C语言调用引用参数如:void Creat(SqList &L)总是提示&出错?
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-01-13 15:50
你好:
C 语言环境不提供这样的引用参数方式,只有 C++ 环境才有。
修改方法其实很简单:
第一步将参数中的 &L 变为 *L(赋地址调用方式),即 void Creat(Sqlist *L);
第二步将函数体内部的所有 L 变为 *L(L 为地址值,*L 取对应内存单元的内容)。
第三步将主调函数调用部分的变量加入取地址符 &,如 main() 函数体中的 Creat(&L);
引用函数的实质是赋地址调用,将其用赋地址调用的方法实现即可解决问题。
C 语言环境不提供这样的引用参数方式,只有 C++ 环境才有。
修改方法其实很简单:
第一步将参数中的 &L 变为 *L(赋地址调用方式),即 void Creat(Sqlist *L);
第二步将函数体内部的所有 L 变为 *L(L 为地址值,*L 取对应内存单元的内容)。
第三步将主调函数调用部分的变量加入取地址符 &,如 main() 函数体中的 Creat(&L);
引用函数的实质是赋地址调用,将其用赋地址调用的方法实现即可解决问题。
全部回答
- 1楼网友:过活
- 2021-01-13 17:17
引用是C++的,C语言它表示取地址符号
- 2楼网友:轻雾山林
- 2021-01-13 17:12
因为VC是一个集成的编程环境,既可以编写c程序也可以编写c++等程序;
而&在c中表示取址符,在C++中定义或声明变量时表示引用,区别这两种编程的简单方法是:
看它包含的头文件是什么,如果你c环境下用上述语句当然回报错了,然而在c++环境中则该方法是正确的,建议你改一下包含的头文件试试应该就可以了。。。
而&在c中表示取址符,在C++中定义或声明变量时表示引用,区别这两种编程的简单方法是:
看它包含的头文件是什么,如果你c环境下用上述语句当然回报错了,然而在c++环境中则该方法是正确的,建议你改一下包含的头文件试试应该就可以了。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯