我不断收到很多"来自不兼容指针类型的警告"的警告,而且我还没有找到原因.
myPageFrame pageFrames[numOfFrames];
myPage pages[numOfPages];
//in a for loop
pageFrames[i].thePage = (myState == HOT ? (&pages[i]) : NULL); // one of the offenders
Run Code Online (Sandbox Code Playgroud)
每当我尝试做任何事情时,我都会收到警告pageFrames[i].thePage
.
有问题的结构是:
//algo_structs.h
typedef struct{
int pageNum;
} myPage;
typedef struct myPage{
struct myPage* thePage;
int loaded;
int lastRef;
} myPageFrame;
Run Code Online (Sandbox Code Playgroud)
myPage
并且struct myPage
是不同的类型.您可以通过将struct
定义更改为以下内容使它们成为相同的类型:
typedef struct myPage {
int pageNum;
} myPage;
Run Code Online (Sandbox Code Playgroud)
或者你可以用myPage *
而不是struct myPage *
.