增加堆栈保留大小不会阻止堆栈溢出

Raz*_*hen 2 c++ stack-overflow stack

我想在堆栈上使用大型数组.但是我继续获得堆栈溢出,虽然我改变了堆栈保留大小.例如:

int main()
{
    int a[5000000];
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在visual studio 2012中: Properties -> Linker -> System -> Stack reserve size: 10000000

什么可能导致它?

Dan*_*rey 5

a的大小int可能是4个字节,因此数组的字节数大于元素数.sizeof(int)*5000000是你需要的.(至少)