初始化错误:如何在C ++

时间:2015-07-11 05:43:32

标签: c++ arrays

此代码是用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] = enter image description here;

return 0;
}

1 个答案:

答案 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));