C++出现的问题总结

发布于:2022-12-02 ⋅ 阅读:(1119) ⋅ 点赞:(0)

1.[Error] ‘nullptr’ was not declared in this scope

在这里插入图片描述

nullptr是可以使用在C++,里面的关键字。但是由于编译器的问题,会导致出错,编译器必须要支持C++11,如果编译器不支持,请升级你的编译器或修改程序代码避开C++11中的才有的内容。

解决方法我也不太清楚,不过可以去看看steaven lee的方法
在这里插入图片描述

2.[Error] conversion from 'SepStack* to non-scalar type ‘SepStack’ requested

翻译一下:从‘SepStack*到非标量类型’SepStack‘的转换请求

我打的是关于链栈的一个代码,如图所示:

在这里插入图片描述

报的错误是:

在这里插入图片描述

我在网上学了教程,尝试改了一下,不报错了。
在这里插入图片描述

改法如下:

在这里插入图片描述

虽然不报错,但是还是运行不了,我开始调试,出现了这个标志

在这里插入图片描述

从字面上理解
SIGSEGV是是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。
所以这段话的意思是程序接受一个无效的指针地址,Segmentation fault即是提示我们去注意定义指针的符号。

为什么呢?我的指针应该没错呀,我去检查代码发现错哪了:
在这里插入图片描述

家人们,这是赋值,注意这个问题哦,别错在这个低级地方。

在这里插入图片描述

在这里插入图片描述

3.[Error] invalid use of template-name ‘Node’ without an argument list

这个是我在写模板代码然后调用时出现的问题

在这里插入图片描述

很明显需要找到Node这个结构体:

在这里插入图片描述

我们要知道,这个问题意思是: [Error]没有参数列表的模板名称‘Node’无效使用。为什么会有这样的报错呢?

你要是明白模板类不是具体的类型,只有和具体的模板参数结合才是具体的类型,就会改动了。把这个结构体改成确切的就OK咯。

在这里插入图片描述

如果这样的话,其他用这个结构体的地方也要改动:

在这里插入图片描述

4.[Error] base operand of '- > ’ has non-pointer type ‘Data’[Error]

先翻译一下:‘->’的基操作数具有非指针类型的‘data’

是什么意思呢?

我们看看代码:

在这里插入图片描述

data我也是结构体,但是使用时node一般对应指针类型。

在这里插入图片描述

咱的意思是需要注意 “.”以及”->”之间的区别,”.”适用于结构体变量,”->”适用于结构体指针变量!!!!

5.[Error] '> > ’ should be '> > ’ within a nested template argument list

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ik7hiqR2-1664708882145)(C:\Users\Sternstunde\AppData\Roaming\Typora\typora-user-images\image-20220912103135211.png)]

这个错误我在写STL时遇见的,错的点在于编译器,使用C++11之前的编译器会将“>>"看成移位符号。

我们需要在“>>"中间夹入一个空格即可。

嘿嘿嘿,简单吧,这些问题都是我在学习数据结构时遇到的,分享给大家,如对你有用,请多多支持,点赞鼓励٩( ‘ω’ )و 蟹蟹!
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到