私はCにあまり詳しくないので、Cを使用してリンクリストを作成しようとしたときに、小さな問題が発生したので、誰かに説明してもらいたいと思います。
これまでの私のコードは次のとおりです。
typedef struct {
struct dlinkNode_t *next;
struct dlinkNode_t *prev;
void *value;
} dlinkNode_t;
dlinkNode_t* getNext(dlinkNode_t *ptr){
/**return the next node of the node pointed by ptr. Return NULL if next element*/
return ptr->next;
コンパイルしようとすると、次の警告が表示されました。
"warning: return from incompatible pointer type"
リンクリストのノードのタイプとしてdlinkNode_tを定義しました。各ノードには、前後を指す2つのポインターがあります。getNextの戻りタイプを次のように定義する必要があります。
struct dlinkNode_t*
しかし、dlinkNodeを新しい型として定義したいので、これはtypedefの目的に違反しているようです。どんな助けでもいいでしょう。
ありがとうございました!