Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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++ - Fatal编程技术网

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++ 如何解决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;

如果您在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; 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];
}

Change
intm[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];
}