问题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 重载关系运算符