我的main()
函数是-
int main(int argc, char *argv[]) {
std::cout << "Hello, World!" << std::endl;
int real[512][512] = {0};
int imaginary[512][512] = {0};
return 0;
}
它给了我
segmentation fault
,但是如果我注释掉2D数组之一,它就可以工作。我正在处理图像,以前使用256x256
数组也可以,但是我不知道为什么会出现该错误。
最佳答案
您可能会用完堆栈空间,因为数组很大。 (所以这是一个非常适合堆栈溢出的问题:-))
将声明移出主函数,以便将数组放入普通内存中。
看例如在这里获取更多信息:
https://craftofcoding.wordpress.com/2015/12/07/memory-in-c-the-stack-the-heap-and-static/
关于compiler-errors - 在C++中声明两个512x512 2D数组时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53331295/