Error : Invalid Allocation Size :·····Bytes 以及 abort() has been called

把这两个Error放在一起,主要是因为在写代码的时候发现,他们有公共的错误。

 

(一)Invalid Allocation Size

主要是因为new分配内存出了问题,从直观翻译来看,应该是内存分配长度无效。

检查一下程序里面开辟动态内存的地方,代表长度的变量是否具有正确的值:

       可能有时候该变量未被初始化,此时很有可能就是一个随机的负值。

       可能该长度的值需要从文件中读取,要仔细检查一下读取文件的时候,读的时候各个量的值是否对应正确。

 

(二)abort() has been called

该Error一般分两个方面————开辟内存长度无效(非法)   、   指针访问内存无效(非法)

第一个方面同上,

           可能是在读文件的时候程序中各个量的值没有对应正确,导致程序连main函数都没进去就直接报了该错误;

           可能是,你的程序占用的内存太多了,堆栈内存不够,溢出了。

第二个方面就是非法的指针访问,可能程序在运行时指针越界了,你没注意到。

 

posted @ 2018-01-21 22:42  林-兮  阅读(813)  评论(0编辑  收藏  举报