此代码是用C ++编写的,用于制作多维数组,但它会产生初始化错误。数组的大小应由用户通过输入控制台给出,因此它不是常量值。问题是什么,解决方案是什么?非常感谢。
#include <iostream>
using namespace std;
int main()
{
int A , B ;
cout << "A: " << endl;
cin >> A ;
cout << "B: " << endl;
cin >> B ;
int data[A][B] = ;
return 0;
}
答案 0 :(得分:1)
数组的大小应由用户通过输入控制台给出,因此它不是常量值。
这在C ++中是不可能的。使用数组的合适替代方法是使用std::vector
。您可以使用:
int A = 10, B = 4;
std::vector<std::vector<int>> data(A, std::vector<int>(B, 0));
如果您使用的是预C ++ 11编译器,则需要在两个>>
之间留一个空格。
std::vector<std::vector<int> > data(A, std::vector<int>(B, 0));