可能出错的地方:char*param = new char [200];

Mei*_*eir 0 c++ new-operator

我正在用C++编写一个程序,由于某种原因,我在以下行得到了一个分段错误:

char* param= new char[200];
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的变化,甚至尝试过它

int* param= new int;//for no reason
Run Code Online (Sandbox Code Playgroud)

并发生同样的错误.我可以做些什么来解决这个问题?

什么可能导致像这样的简单内存分配给出问题.

我将包括该程序的其余部分,但它超过1000行.但随时可以要求更多信息.

小智 8

在此之前你做任何内存分配和释放吗?如果是这样,您可能以某种方式损坏了堆.没有看到更多代码就无法进一步诊断.

  • 是的,特别是如果说,之前有一个这样的数组分配,比如标量删除而不是数组删除. (2认同)