struct - C typedef confliction -


so attempting construct b-tree, using 2 types of nodes, individual key nodes (knode) , super node containing number of knodes based on order size (sibnode). problem keep running set work need knode pointers in sibnode (ex. pkey , smallestpnt) sibnode pointers in knode (ex. nxtkey , child). whichever typedef put first returns error unknown type pointers (example in order returns: error: unknown type name 'knode'). if give me advice on how avoid error appreciated.

typedef int keyt;  //b-tree node typdef typedef struct { int size; int cursor; knode* pkey; knode* smallestpnt;  }sibnode;  //key node typedef typedef struct  {  keyt* key; sibnode* nxtkey; sibnode* child;  }knode; 

when sibnode type defined, type knode hasn't been defined yet.

use forward declaration this:

struct knode;      //this forward declaration  typedef struct {     int size;     int cursor;     struct knode* pkey;         //here     struct knode* smallestpnt;  //here }sibnode;  typedef struct knode       //and here {     keyt* key;     sibnode* nxtkey;     sibnode* child; }knode; 

Comments

Popular posts from this blog

php - Submit Form Data without Reloading page -

linux - Rails running on virtual machine in Windows -

php - $params->set Array between square bracket -