c ++:错误:非POD元素类型的可变长度数组

时间:2013-11-09 18:55:57

标签: c++ compiler-errors

我基本上有

int x;
cout << "Please enter how many classrooms there are: ";
cin >> x;
classrooms bunchaClassrooms[x]; //classrooms is a previously declared class.

由于某种原因,它会给出错误 '可变长度的非POD元素类型'x'' 而且我不知道为什么,如果我使用教室矢量代替,我怎么能轻松填充它(使用for循环我猜)取决于用户的输入。

2 个答案:

答案 0 :(得分:7)

您可以使用std :: vector:

std::vector<classrooms> bunchaClassrooms;
for (int i = 0; i < x; ++i)
{
  classrooms c;
  <... enter classrooms info ...>
  v.push_back(c);
}

具有非常数边界的数组不好。

答案 1 :(得分:2)

可变长度数组不是该语言的标准功能。你必须在堆上分配或创建一个向量。