2013-11-27 4 views
1

В настоящее время я пытаюсь назначить указатель на структуру, называемую totheright (которая является узлом связанного списка). Указатель на структуру/список в настоящее время находится в пределах другой структуры, называемой прямоугольниками. Я пытаюсь сделать ошибку.Назначение указателю на структуру из указателя внутри другого типа структуры

currect->right = malloc(sizeof(totheright)); 
righthead = current->right; 

Ниже приведены декларации в функции:

rect *currect = NULL; 
totheright *righthead = NULL; 

определения структуры в заголовке:

typedef struct _totheright { 
    int rect; 
    struct _totheright *right; 
} totheright; 

typedef struct _rect { 
    int thisrect; 
    struct totheright *right; 
    int left; 
    double width; 
    double height; 
    double xcord; 
    double ycord; 
    struct _rect *next; 
} rect; 
+1

'righthead = current-> right;' должно быть 'righthead = currect-> right;' –

ответ

1

поле right в структуре rect не должны иметь struct перед тем totheright или struct _totheright следует использовать :

typedef struct _rect { 
    int thisrect; 
    //struct totheright *right; // was 
    totheright *right; // fixed 
    //struct _totheright *right; // that would be ok as well 
    int left; 
    double width; 
    double height; 
    double xcord; 
    double ycord; 
    struct _rect *next; 
} rect; 
+0

Это исправило мою проблему! Не могу поверить, что я пропустил это. Спасибо, Майкл! – Cody

Смежные вопросы