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



我正在使用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;
}

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

相关内容

  • 没有找到相关文章

最新更新