【c/c++问题总结】error C2039、 C2001、 C2146、C2297、 C2601、C2065、 C2660、 C2440

目录

#重点

问题一:error C2039

错误重现:

错误原因:

问题二:error C2001

错误重现:

错误原因:

问题三:error C2146

错误一:

错误原因:

真正的错误原因: 

错误二:

错误原因:

问题四:error C2297

错误重现:

错误原因:

问题五:error C2601

错误重现: 

 错误原因:

问题六:error C2065

错误一:

错误原因:

错误二:

错误原因:

问题七:error C2660

错误重现:

错误原因:

问题八:error C2440

错误重现:

错误原因:


(在此博客中,将不断编辑添加新的问题总结)


#重点

自我总结:错误先从第一个解决起,可能因为前面的问题而导致后面的问题产生

(如果先易后难,可能最后会发现其实后面都没问题)


问题一:error C2039

错误重现:

 error C2039: 'MAXSIZE' : is not a member of 'SeqList'

see declaration of 'SeqList'

错误原因:

这个MAXSIZE其实就是上面赋的100,就是一个常量

怎么能L.MAXSIZE呢,就好像L.100一样,这是个啥呀,我自己都不敢相信


问题二:error C2001

错误重现:

 error C2001: newline in constant(在常量中出现了换行)

错误原因:

①错误一:先分析常量是否出现了换行的错误

②错误二:检查是否漏了单引号、双引号,或者输错

我这里是前面有双引号,后面少了


问题三:error C2146

错误一:

 error C2146: syntax error : missing ';' before identifier 'L'

错误原因:

 字面意思,差个分号

但是我这个加“;”就很离谱的,加上一句末尾,结果如下,继续报错

然后把“;”加在L前面,就……

正确了(感觉自己像傻子一样)

真正的错误原因: 

 其实我原本没错,这个分号,和最后面的那个分号,都是没必要加的

(是因为我前面的一个引号问题导致的后面的跟着出现错误)

错误二:

error C2146: syntax error : missing ';' before identifier 'Pop'

错误原因:

我定义的int型ElemType,上面打错成了ELemType

(第二个字母打成了大写,所以提示要用分号分隔开)


问题四:error C2297

错误重现:

error C2297: '<<' : illegal, right operand has type 'char [7]'

错误原因:

  头部调用模块中,少了一个 #include<iostream.h>

加上 #include<iostream.h>后就没报错了


问题五:error C2601

错误重现: 

 error C2601: 'xxxxx' : local function definitions are illegal

(本地函数定义是非法的)

 错误原因:

①错误一:可能是{ 与 }的数量不匹配

这种比较好改,且出错容易发现

可以选中{后,然后再按Ctrl+}再找它对应的}

②错误二:"//"注释符导致的错误

删掉注释

②错误三:

因为代码前面还存在错误而影响后面的代码

(我是因为前面一个引号未闭合导致出现了很多这个提示错误)


问题六:error C2065

错误一:

error C2065: 'exis' : undeclared identifier(未释录的标识符)

标识符:

由字母、数字和下划线组成,不能以数字开头,不能与关键字重复,并且区分大小写

eg:变量名、函数名、类名、常量名等

错误原因:

错误一:

首先检查是否打错字符

我这里是打错了,所以显示未定义

 错误二:

再检查是否未定义,未定义的话,就要先定义,如整数、字符等

先声明后使用的原则

错误二:

 error C2065: 'cout' : undeclared identifier

error C2065: 'endl' : undeclared identifier

错误原因:

头部调用模块中,少了一个 #include<iostream.h>

加上 #include<iostream.h>后就没报错了


问题七:error C2660

错误重现:

 error C2660: 'ListDelete_Seq' : function does not take 1 parameters(功能不需要1个参数)

错误原因:

没有将函数的所有参数值全部给出,就算没有也要填一个NULL


问题八:error C2440

错误重现:

error C2440: 'initializing' : cannot convert from 'void' to 'int'(无法从'void'转换为'int')

错误原因:

前面我定义的void类型,后面又将其转换为int型,提示是不行的,我这里其实不是要将他的类型转换,而是取一个值

所以采取按值查询,即表的第n个数据(即n值),而不是再将这个函数整个参数写上去后转换了

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑色地带(崛起)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值