我有一个有阵列的结构。
struct Page_Directory {
public:
int numEntries;
int nextDirPage;
int [] array;
};
但是,我总是希望这个数组具有一定的长度,因此这个结构的大小总是4 + 4 + 100 * 4字节。
我不希望有如下结构声明:
struct Page_Directory {
public:
int numEntries;
int nextDirPage;
int *array;
};
因为这个结构的大小是4 + 4 + 4 = 12个字节(即使我使用new
或malloc
为条目分配内存。
现在,我该如何实现这一目标?我不能把头文件中的第一个声明放在头文件中,你不要在头文件中放入数组大小的细节,只是每个成员的类型。
答案 0 :(得分:11)
如果您始终希望阵列具有一定的大小,则无法绕过 用一定的大小宣布它:
struct Page_Directory {
public:
int numEntries;
int nextDirPage;
int array[100];
};
答案 1 :(得分:2)
<datatype> [] <array_name> ;
C ++中不允许
您也可以试试这个......
struct Page_Directory {
public:
int numEntries;
int nextDirPage;
static int const size=100;
int array[size];
};