C++ 如何解决visual studio中的持续错误? #包括 使用名称空间std; int main(){ int n; cin>>n; int m[n][2]; 对于(int i=0;i>m[i][0]; cin>>m[i][1]; } }
如果您在VisualStudio中运行这些代码,那么我在第9行得到错误。C++ 如何解决visual studio中的持续错误? #包括 使用名称空间std; int main(){ int n; cin>>n; int m[n][2]; 对于(int i=0;i>m[i][0]; cin>>m[i][1]; } },c++,C++,如果您在VisualStudio中运行这些代码,那么我在第9行得到错误。 有人能告诉我为什么有错误吗?看起来您试图将m初始化为2d数组,第一个维度的大小作为用户输入,第二个维度的大小作为常量2。要做到这一点,您可以使用 #include <iostream> using namespace std; int main() { int n; cin >> n; int m[n][2]; for (int i = 0; i < n;
有人能告诉我为什么有错误吗?看起来您试图将m初始化为2d数组,第一个维度的大小作为用户输入,第二个维度的大小作为常量2。要做到这一点,您可以使用
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int m[n][2];
for (int i = 0; i < n; i++) {
cin >> m[i][0];
cin >> m[i][1];
}
}
intn;
cin>>n;
整数(*m)[2]=新整数[n][2];
对于(int i=0;i>m[i][0];
cin>>m[i][1];
}
Changeintm[n][2]代码>到标准::向量m代码>第9行是哪一行?还要提到错误。这是#include empty吗?@Eljay小心,如果这是唯一的修改,代码将有错误,UB将潜伏在corner@vinodint m[n][2];这是电话号码9@vinod你为什么这么做?在C++中,VLAs几乎没有必要。因为VLAS不是标准C++的一部分,所以错误是来自C和一些编译器,它们也在C++中作为扩展,但是在C中它们也变成可选的,所以C++中的支持也可能在任何TimMeDink中消失。但是为什么要在(*m)后面添加[2],因为它是一个二维数组,第一个维度是动态分配的n,而第二个维度是常量2。如果您想动态分配这两个值,可以int**m=newint[length][length];
int n;
cin >> n;
int (*m)[2] = new int[n][2];
for (int i = 0; i < n; i++) {
cin >> m[i][0];
cin >> m[i][1];
}