Может лучше так сделать?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Al Volovich 24 сентября 2004 г. 12:37
В ответ на: если так CurMenu = *(TMenuItem*)CurMenu->NextMenu; , то ругается (error C193: '=': incompatible operand) отправлено ace2 24 сентября 2004 г. 11:53


typedef struct TMenuItem {
char Caption[16];
int Temp;
struct TMenuItem code* NextMenu; //****
}TMenuItem;

TMenuItem code *code MainMenu[];
TMenuItem code *code Vesoizmer[];


TMenuItem code MainMenu1={"1. ",0,Vesoizmer};
TMenuItem code MainMenu2={"2. ",0,0};
TMenuItem code MainMenu3={"3. ",0,0};
TMenuItem code MainMenu4={"4. ",0,0};
TMenuItem code MainMenu5={"5. ",0,0};
TMenuItem code MainMenu6={"6. ",0,0};
TMenuItem code MainMenu7={"7. ",0,0};
TMenuItem code MainMenu8={"8. ",0,0};
TMenuItem code MainMenu9={"9. ",0,0};

TMenuItem code Vesoizmer1={"1.1 ",0,0};
TMenuItem code Vesoizmer2={"1.2 ",0,0};
TMenuItem code Vesoizmer3={"1.3 ",0,0};
TMenuItem code Vesoizmer4={"1.4 ",0,0};
TMenuItem code Vesoizmer5={"1.5 ",0,0};

TMenuItem code *code MainMenu[]={
&MainMenu1,
&MainMenu2,
&MainMenu3,
&MainMenu4,
&MainMenu5,
&MainMenu6,
&MainMenu7,
&MainMenu8,
&MainMenu9};

TMenuItem code *code Vesoizmer[]={
&Vesoizmer1,
&Vesoizmer2,
&Vesoizmer3,
&Vesoizmer4,
&Vesoizmer5};

TMenuItem code*code* CurMenu;//******

void qqq(){
CurMenu = MainMenu;//чтобы обратиться к MainMenu1 пишем CurMenu[0]
CurMenu = (TMenuItem code*code*)CurMenu[0]->NextMenu;//запихиваем в CurMenu Vesoizmer
}

А то иначе получается что Вы пытаетесь взять адрес из переменной, не являющейся указателем, потому кейл и ругается


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru