所以我在头文件中有这个结构定义,这个结构里面是另一个结构的数组。我想从文件中读取这个数组的大小,但我无法弄清楚如何。
struct Struct1
{
struct Struct2 sArry[];
};
//And then initialize sArry[] as a size read from file
inFile >> size;
Struct1->sArry[size];
答案 0 :(得分:0)
为了结束这个问题,我会写下答案。
无法在运行时更改数组大小。因此,我看到的两个解决方案是:
使用vector<Struct2>
代替Struct2 sArry[]
。这可能会有点效率低,但我可能不是你代码的瓶颈。
在编译时Struct2 sArry[MAXSIZE]
设置最大大小,随意定义MAXSIZE。这是记忆效率低下而且不是很优雅。
注意:C ++ 11包含std::array<type, size>
,这是你应该使用的而不是C风格的数组。