Tomweston_usen 2012-04-24 22:20:26
I’m quite a novice with c++ so this is probably more a language
issue than a compiler/system one but I’ve been writing a program
and have just included some multidimensional arrays that make
for a strange effect that I can’t explain.
As the program currently stands it looks i outline like this
cout << " currently here\n"; const int xmax=1200; const int tmax=51; double price[tmax][xmax+1]; double reslevel[tmax][xmax+1]; // lots of code that doesn't involve price or reslevel return 0; } This compiles and when run doesn't print anything. If I comment out the two lines dimensioning the multi-dim arrays, it compiles and runs fine. If I change the data type of the arrays to int or float, it compiles OK and runs fine. This seems a bit bizarre to me, but as I say, I'm not experienced with C++. Any ideas? Many thanks, Tom
Hans-bernhard 2012-04-24 22:20:39
The problem almost certainly is caused by the exact size of your arrays. Make them a little larger, and odds are your program will crash immediately on startup. Make them a little smaller and it'll work fine, or maybe crash later. Move them outside the main() function, and the problem will vanish for good. Replace them by dynamically allocated arrays (using the 'new' operator), and it'll vanish, too, but programming becomes a bit more tricky. Check out the DJGPP FAQ, Q 15.9, "How much stack can I have in DJGPP programs?", details. -- Hans-Bernhard Broeker (email@example.com) Even if all the snow were burnt, ashes would remain.