我正在声明一个数组,其长度由一个变量定义。当变量的值是5时,它工作正常,但是当它是我需要的大小(约52000)时,它不会,但是当我不使用变量来声明大小,而是手动输入它时,它不会崩溃。 (一旦我实际上使用我的程序进行调试以外的其他工作,将无法工作)。从这我可以得出结论,它不是导致我的程序崩溃或使用变量的数组大小,但以某种方式使用相同的变量作为工作,但具有不同的值。我什至尝试使用指针而不是变量,但它没有工作。精确的代码行是int half1[half];
。该过程返回-1073741571。为什么我的C++程序崩溃时,我这样声明一个数组?
-2
A
回答
2
有没有想过这个网站的名字是什么意思?你可能正在陷入这样一个问题,在堆栈中声明一个大数组。除此之外,我想你正在使用GNU gcc。通常非常量大小的数组不是有效的C/C++,您不会使用其他编译器编译此代码。出于这两个原因,你应该在堆上定义数组(使用new关键字),或者只使用std :: vector。
+2
由于无法使用int foo [run_time_determined_size];'的原因,不能使用'std :: array'。 – NathanOliver
+0
@NathanOliver谢谢,纠正 – jszpilewski
相关问题
- 1. 我不明白为什么这个程序不断崩溃
- 2. 为什么我的C程序崩溃?
- 3. 为什么我的C程序崩溃
- 4. 输入一个char *声明之前崩溃的程序,而这样做到'只是声明'char *不。为什么?
- 5. 为什么这C#正则表达式崩溃我的程序?
- 6. 为什么我的程序在这一行中崩溃?
- 7. 为什么这个struct会崩溃我的程序?
- 8. 为什么这个XML布局崩溃我的应用程序?
- 9. 我不明白为什么这会导致我的程序崩溃?
- 10. 为什么我的程序崩溃末
- 11. 为什么我的程序崩溃(java)?
- 12. 为什么我的程序崩溃?
- 13. 为什么我的小程序崩溃?
- 14. 这个程序崩溃了,为什么?
- 15. 为什么这个程序崩溃?
- 16. 为什么这个程序崩溃
- 17. 为什么这个程序崩溃?
- 18. 为什么我的C++程序在特定输入时崩溃?
- 19. VB.NET为什么这个子程序是这样声明的?
- 20. 这个程序不断崩溃,我无法解决为什么?
- 21. 当我点击按钮时,为什么我的程序崩溃?
- 22. 当我更改targetSdkVersion时,为什么我的程序崩溃?
- 23. 为什么我的程序在我尝试运行时崩溃?
- 24. 为什么我的应用程序崩溃时,我呼吁objectForInfoDictionaryKey:CFBundleShortVersionString
- 25. 不明白为什么我的应用程序崩溃
- 26. 为什么这会导致我的程序崩溃?
- 27. 为什么我在这里崩溃?
- 28. 应用崩溃时我声明STPPaymentCardTextField()
- 29. 为什么这个C++代码崩溃?
- 30. 为什么我的程序会崩溃(C++)?
你不应该在你的数组声明中使用一个大小的变量,只能使用'const'变量作为大小。 –
平台?编译器?实际[MCVE](https://stackoverflow.com/help/mcve)? – Useless
如果你需要一个数组,并且在运行时不知道大小是多少,可以使用'std :: vevctor'。 – NathanOliver