stack overflow error in C++ program

后端 未结 2 1571
小蘑菇
小蘑菇 2020-12-07 03:27

So i have this complex class , and i want to have an 2d array of complex numbers this is part of the code not all the code

class Complex {
public:
    /* con         


        
2条回答
  •  抹茶落季
    2020-12-07 04:10

    Visual studio defaults to 1MB stack size, it looks like:

    Complex G[HEIGHT][WIDTH];
    

    will be just about 1MB, you can modify this using /F and the document says (emphasis mine):

    Without this option the stack size defaults to 1 MB. The number argument can be in decimal or C-language notation. The argument can range from 1 to the maximum stack size accepted by the linker. The linker rounds up the specified value to the nearest 4 bytes. The space between /F and numberis optional.

    The most obvious alternative would be to use dynamic memory allocation via new or std::vector.

    Visual Studio as far as I know actually has one of the smaller default stack sizes:

    platform    default size       
    =====================================
    SunOS/Solaris  8192K bytes
    Linux          8192K bytes
    Windows        1024K bytes
    cygwin         2048K bytes
    Mac OS X       8192K bytes
    

提交回复
热议问题