1. ホーム
  2. c

[解決済み】警告:互換性のないポインタ型からの代入

2022-01-22 06:12:46

質問

互換性のないポインタ型からの代入」という警告が何度も出てくるのですが、その理由がわかりません。

myPageFrame pageFrames[numOfFrames];
myPage pages[numOfPages];

//in a for loop
pageFrames[i].thePage = (myState == HOT ? (&pages[i]) : NULL);  // one of the offenders

に何かしようとすると、必ず警告が表示されます。 pageFrames[i].thePage .

問題の構造体は

//algo_structs.h
typedef struct{

int pageNum;

} myPage;

typedef struct myPage{

struct myPage* thePage;
int loaded;
int lastRef;

} myPageFrame;

解決方法は?

myPagestruct myPage は異なるタイプです。を変更することで、同じ型にすることができます。 struct に定義されています。

typedef struct myPage {
    int pageNum;
} myPage;

を使用することもできます。 myPage * の代わりに struct myPage * .