在不知道大小的情况下在标头中声明struct数组

时间:2018-04-20 14:49:58

标签: c++ arrays vector global-variables

我想要解决的问题如下:我将一个整数作为输入,这将是我的结构数组的大小。我想在.h文件中定义数组,因为大小和数组都必须是全局的。

在.h文件中我写了extern NAME_OF_STRUCT my_array []; 然后在我的.cpp文件中我写了NAME_OF_STRUCT my_array [lenght_of_array];初始化它,但它抛出了这个错误:

"在文件范围"

中不允许使用可变长度数组声明

我该怎么办?我不知道该把它放在里面因为我需要用从文本输入中获取的数据填充结构中的一些值。

1 个答案:

答案 0 :(得分:3)

#include <vector>
std::vector<NAME_OF_STRUCT> my_array;

在cpp:

my_array.resize(length_ofarray);