【问题标题】:"a.exe ( source code file - a.cpp) has stopped working."“a.exe(源代码文件 - a.cpp)已停止工作。”
【发布时间】:2018-03-24 18:12:31
【问题描述】:

所以,使用代码块,我刚刚编写了一个小型 cpp 程序。但它意外地显示了这个错误(见图)。不知道怎么回事。

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int mat[1000][1000];
    cout<<"done";
    return 0;
}

【问题讨论】:

  • 你可能出栈了。
  • #include &lt;bits/stdc++.h&gt; 不,停止。
  • 我需要那个大小的二维数组。有什么可以做的吗?
  • 是的,使用std::vector&lt;std::vector&lt;int&gt;&gt;
  • 运行良好:ideone.com/mSo7O4 尝试在 IDE 中运行它,以便获得更有意义的错误消息。

标签: c++ c++11 multidimensional-array


【解决方案1】:

int mat[1000][1000]; 正在堆栈上创建一个巨大的数组。可能超出您的编译器/平台允许的范围。

您有多种选择:

1) 告诉您的编译器为堆栈使用更多空间。

2) 在堆上分配对象。

3) 停止使用 C 数组并改用 std::vector

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多