C++ 出现free(): invalid size错误
前言
写c++代码时,突然出现free(): invalid size这个错误。之前从来没碰到过,在此记录一下。
起因
出现这个错误是我定义了多个vector数组
vector<double>euler;
vector<double>Ieuler;
vector<double>R_K4;
然后在函数里面用下面语句吧元素加进去
euler[i]=y;
Ieuler[i]=y;
R_K4[i]=y;
程序在执行过程中,本来for循环30次,最后循环到7次就自动停止了,把代码放到另一个编译器上就报free(): invalid size错。
原因
我翻了几篇博客,大概是函数内数组写越界了 ,具体原因可参考这篇博客: (66条消息) C++ free(): invalid size 问题排查过程记录_编程实战营的博客-CSDN博客_free(): invalid size
处理方法
俺是一个菜鸡,既然动态数组在写时会越界,那咱就把动态数组改成静态数组吧 -_-
double euler[100];
double Ieuler[100];
double R_K4[100];
菜鸟一枚,若有错请指出~