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
这个错误我在写STL时遇见的,错的点在于编译器,使用C++11之前的编译器会将“>>"看成移位符号。
我们需要在“>>"中间夹入一个空格即可。
嘿嘿嘿,简单吧,这些问题都是我在学习数据结构时遇到的,分享给大家,如对你有用,请多多支持,点赞鼓励٩( ‘ω’ )و 蟹蟹!