C++ C+中的运行时错误+;14由于2D数组声明

C++ C+中的运行时错误+;14由于2D数组声明,c++,c++14,C++,C++14,您能告诉我为什么会出现运行时错误吗 #include <iostream> #include <stdio.h> #define lld long long int #define size 10000 using namespace std; static int matrix[size][size]; #包括 #包括 #定义lld long long int #定义大小10000 使用名称空间std; 静态整数矩阵[size][size]; 整数矩阵[size][s

您能告诉我为什么会出现运行时错误吗

#include <iostream>
#include <stdio.h>
#define lld long long int
#define size 10000
using namespace std;
static int matrix[size][size];
#包括
#包括
#定义lld long long int
#定义大小10000
使用名称空间std;
静态整数矩阵[size][size];

整数矩阵[size][size]使用自动内存,由于矩阵中的
10000*10000
元素,您的内存刚刚用完。如果需要如此大的矩阵,则必须使用动态内存或使用动态内存的容器,例如
std::vector

vector<vector<int>> matrix(size, vector<int>(size, 0));
向量矩阵(大小,向量(大小,0));

由于2D数组的内存大小限制,我们无法创建具有该大小的数组。 解决方案:

vector<pair<int , int>> matrix;
向量矩阵;

<代码>什么是错误?请发布一个。当大小小于10000时,是否会出错?GCC用旗标<代码>编译时没有错误。C++ = 14 + /代码>无关,但不使用C++程序,使用