这个问题以前有人问过,但据我所见,所有人都在滥用'a.b'
来获取指针值。我正在使用'a->b'
,但它仍在抛出此错误。
这是我的代码,它是一个动态堆栈:
头文件:
typedef struct etCel{
element *ele;
struct cel *suiv;
} cel;
typedef cel* pile;
pile init_pile();
int affiche_pile(pile *p);
.c文件:
pile init_pile(pile *p){
return NULL;
}
int affiche_pile(pile *p){
printf("Valeurs de la pile:\n");
while(p!=NULL){
affiche_element(p->ele);
printf("\n");
p=*(p->suiv);
}
return 1;
}
最佳答案
typedef cel* pile;
和
int affiche_pile(pile *p){
这使得人们相信
p
现在是指向指针的指针。展开声明,您将得到cel* *p;
因此,要么将函数签名更改为
int affiche_pile(pile p)
或typedef cel pile
关于c - C-错误:请求成员“---”使用的不是结构或 union ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40904900/