Я видел много вопросов об этом прежде здесь. Но у моей программы такая же проблема.
это структура, которую я создал
struct SVolo{
float orariopart;
float orarioarr;
char pospartenza[MAX];
char posarrivo[MAX];
char code[COD];
int nposti;
TList mappa;
};
и в заголовочном файле я определил
typedef struct SNode TNode;
typedef TNode *TBST;
Хорошо, теперь мне нужна функция, которая выдала бы мне поддерево, которое я хочу
TBST search_fly(TBST voli,char codice[COD]){
if (voli==NULL)
return NULL;
if(info_uguali(voli->info,codice)){
return voli;
}
if(info_maggiore(voli->info,codice)){
voli->right=search_fly(voli->right,codice);
return voli;
}else{
voli->left=search_fly(voli->left,codice);
return voli;
}
}
последняя функция, о которой вам нужно знать, это
void update_map(TVolo unvolo,TList mapppa){
unvolo.mappa=mapppa;
}
, когда я вызываю ее в основном, я вызываю ее следующим образом
TBST tmp;
tmp=search_fly(voli,codice);
update_map(tmp->info,map);// and here's the error in the title
struct SNode {
TVolo info;
struct SNode *left;
struct SNode *right;
};
struct SNodo{
TUser info;
struct SNodo *link;
};
typedef struct SNodo TNodo;
typedef TNodo *TList;
Я действительно не понимаю, что не так с объявлением TNode (он же struct SNode). Также я использовал эту структуру для других функций и частей кода, и это не дало мне ошибок. Так что я думаю, что-то не так в подфункциях или что-то в этом роде.