如何避免分段错误:11; C ++

时间:2018-01-30 04:03:58

标签: c++ segmentation-fault

我正在使用gdb调试一个简单的C ++脚本,并在我尝试初始化temp_grid时看到我收到错误。我尝试通过运行

来编译它
g++ -Wall initial.cc -o initial

有没有办法通过脚本中的某些东西来避免这种分段错误?

#include <iostream>
#include <array>
#include <valarray>
#include <stdlib.h>
#include <memory>

using namespace std;

int main()
{
  using std::array;
  array<array<float, 1024>, 1024> grid ={};

  // temp grid
  array<array<float, 1024>, 1024> temp_grid ={};

  return 0;
}

1 个答案:

答案 0 :(得分:5)

您最有可能溢出堆栈,该堆栈的局部变量存储空间相对有限。尝试使用动态存储分配它们(使用new)。为了获得最大的稳健性,请使用智能指针(unique_ptr)来管理指针。