vscode上创建单链表存在正文时未命名的函数参数类型问题

在使用VSCode进行C/C++编程时,遇到初始化单链表和比较运算符错误的问题。问题1是由于使用了C++特有的引用类型,而在C文件中不被允许,解决方案是将文件后缀更改为.cpp。问题2是C++不允许直接对结构体进行关系运算,解决方法包括逐字段比较或重载关系运算符。本文探讨了这两个问题的原因及解决策略。
摘要由CSDN通过智能技术生成

问题1:

在vscode上的初始化单链表时遇到这个问题

解答1:

将文件后缀的.c改为.cpp就可以了 

疑问1:

为什么这么做呢?

原因是因为.c是C语言的源程序,.cpp是C++的源程序,二者在编译时有些不同,在这个问题上究其具体原因是因为C语言中没有例如int* &p这样的定义格式,只有C++中有,所以在.c后缀的文件中编写”int* &p“格式的变量会被提示不合法。

问题2:

在VS code练习数据结构时遇到没有与操作相匹配的运算符的问题,如图

解答2:

原因是在c/c++编译系统中不允许用基本关系运算符对自定义结构体直接比较,两种方法:

一是进行一个一个比较,比如这个ElemType结构体中我定义了一个name变量,于是可以指定name变量进行比较,如图:

二是可以对C++编译时进行关系运算符的重载,如下博文

(25条消息) C/C++重载操作符(三)——重载关系操作符_Lavener_Love的博客-CSDN博客_c 重载关系运算符 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值