vs错误无法读取内存

#include <bits/stdc++.h>
using namespace std;
#define Max 100000
int main() {
double G[100000][2], min = INX;//vs不支持数组大小使用变量
int n=1, p1=1, p2=1;
cin >> n;
for (int i = 0; i < n; i++) {//初始化数组
cin >> G[i][0] >> G[i][1];
}
}

img

img

一个栈帧是1M的空间,1m=1024k=1024x1024Byte,一个double为8个字节,所以你的double数组最多长度为1024x1024/8=131072,这个是理论上的最长长度,实际上要少一些用来存放其他东西,所以你的G[100000][2]展开成一维数组长度为20W,严重超过了理论长度,需要使用动态数组申请内存空间

G数组太大了,用动态申请空间吧

使用标准库中的vector代替局部变量大数组