2015-05-04 3 views
2

У меня возникла проблема с установкой структур, которые мне нужно объявить как новые типы var. Код включен следующее:Вложенные typedef structs

typedef struct 
{ 
    typedef struct 
    { 
     int day, 
      month, 
      year; 
    } Date; 

    Date manuDate, 
     purDate; 
    double purPrice; 
} Car; 

За исключением, когда я пытаюсь скомпилировать его бросает ошибку на меня, говоря

«ошибку синтаксиса перед ЬурейиМ» и кучей других ошибок благодаря тому, что дальше.

Это что-то C не может сделать? Я знаю, что он имеет проблемы с вложенными структурами без указателя, но я не уверен, как это будет работать в этом случае ...

ответ

3

C не поддерживает определения вложенной структуры. Возможно, вы искали некоторый код на C++.

Вместо этого вы сначала определяете «внутреннюю» структуру, а затем ссылаетесь на нее внутри «внешней» структуры.

typedef struct 
{ 
    int day, 
     month, 
     year; 
} Date; 


typedef struct 
{ 
    Date manuDate, 
     purDate; 
    double purPrice; 
} Car; 
Смежные вопросы