因此,问题出在我的项目上,我几乎必须为我的操作系统类创建一个反向表页面。电讯局长写下了一些基本的代码以开始使用。他说,要创建表,表应该是一个
*包括元数据,例如页面大小和翻译的页面数
* table(可以是二维数组或结构的一维数组),因此代码如下:
#include <stdio.h>
#include <stdlib.h>
#define N 500
struct invTablePage{
invTablePage page[N];
};
struct table
{
int numOfPages;
int pageSize;
int array[struct invTablePage];
};
void initInverted(struct invTablePage **invTable, int memSize, int frameSize);
int translate(struct invTablePage *invTable, int pid, int page, int offset);
void releaseInverted(struct invTablePage **invTable);
但是,当我编译代码时,它给了我这个
error: expected expression before ‘struct’
error: array type has incomplete element type
struct invTablePage page[N];
我试过使用的大小,但这不起作用。显然可以完成int array [struct invTablePage],但是如果尝试获取结构的大小更有意义,我什至不知道该如何工作。至于数组类型有不完整的元素错误,如果我已经声明了我的invTablePage类型的结构,那么我不确定那是什么,所以它应该可以工作。任何帮助,将不胜感激
最佳答案
struct invTablePage {
invTablePage页面[N];
};
您不能定义这样的结构。结构可以具有指向其自身类型的指针,但不能具有其自身类型的成员。