如何将数组的大小设置为等于 vector 的大小。这是我的代码:
vector<Point> data_obj;
int my_array[data_obj.size()]
但是我收到编译错误:
error C2057: expected constant expression
error C2466: cannot allocate an array of constant size 0
我不明白这个错误。您能解释一下吗?
最佳答案
正如错误所述,静态数组的大小在编译时必须是常量。 std::vector
的大小可能在运行时发生变化,因此不能保证数组的大小恒定。你必须创建一个动态数组
int* my_array = new int[data_obj.size()];
记得删除它
delete[] my_array;
关于c++ - 如何将 vector 大小分配给数组大小C++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273046/