0

配列を持つ構造があります。

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 バイトであるため ( neworを使用してエントリにメモリを割り当ててもmalloc)。

さて、どうすればこれを達成できますか?最初のような宣言をヘッダー ファイルに入れることはできません。ヘッダー ファイルに配列サイズの詳細を入れず、各メンバーの型だけを入れます。

4

2 に答える 2

11

配列を常に特定のサイズにしたい場合は、特定のサイズで宣言する方法はありません。

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    int array[100];
};
于 2012-10-26T05:14:31.447 に答える
2
<datatype> [] <array_name> ;

C++ では許可されていません

これも試すことができます...

struct Page_Directory {
public:
    int numEntries;
    int nextDirPage;
    static int const size=100;
    int  array[size];
};
于 2012-10-26T05:23:48.607 に答える