[code C] dereferencing pointer to incomplete
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Salut, je suis en train de faire un projet que je dois rendre lundi matin et j'ai une erreur à la compilation que je ne comprends absolument pas.
Le compilateur (gcc) me dit "dereferencing pointer to incomplete type" à toutes le lignes qui contiennent un disc->
Voici le code:
/////////disque.c///////////
typedef struct cd {
char *artiste;
char *album;
int annee;
int nb_chansons;
char *genre;
T_LIST pistes;
} cd;
///////////////disque.h///////////////
typedef struct cd *disque;
/////////////fonct_aux.c////////////
void aff_disc_sans (disque disc) {
printf("\n------------------------------------\n");
printf("Artiste : %s\n", disc->artiste);
printf("Année de parution : %d\n", disc->annee);
printf("Album : %s\n", disc->album);
printf("------------------------------------\n");
}
Je ne vous mets pas le reste du code qui n'apporterait rien à mon avis.
T_LIST est une structure fournit par mes profs donc il n'y a aucun doute la concernant.
Merci d'avance.
Le compilateur (gcc) me dit "dereferencing pointer to incomplete type" à toutes le lignes qui contiennent un disc->
Voici le code:
/////////disque.c///////////
typedef struct cd {
char *artiste;
char *album;
int annee;
int nb_chansons;
char *genre;
T_LIST pistes;
} cd;
///////////////disque.h///////////////
typedef struct cd *disque;
/////////////fonct_aux.c////////////
void aff_disc_sans (disque disc) {
printf("\n------------------------------------\n");
printf("Artiste : %s\n", disc->artiste);
printf("Année de parution : %d\n", disc->annee);
printf("Album : %s\n", disc->album);
printf("------------------------------------\n");
}
Je ne vous mets pas le reste du code qui n'apporterait rien à mon avis.
T_LIST est une structure fournit par mes profs donc il n'y a aucun doute la concernant.
Merci d'avance.
A voir également:
- [code C] dereferencing pointer to incomplete
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Qwerty to azerty - Guide
2 réponses
Bonjour
void aff_disc_sans (disque disc) {
ça ne devrait pas plutôt être :
void aff_disc_sans (disque *disc) {
?
j'ai testé comme ça :
sans quoi ça reviendrait à faire ça :
void aff_disc_sans (disque disc) {
ça ne devrait pas plutôt être :
void aff_disc_sans (disque *disc) {
?
j'ai testé comme ça :
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ char *x; }plop; void ko(plop *a) { printf("%s\n",a->x); } int main(void) { plop *test;//test est un pointeur test=malloc(sizeof(plop));// on le fait pointer quelque part au cas où test->x=malloc(sizeof(char)*20);//pareil avec x strcpy(test->x,"hello world!");//copie dans x ko(test);//affichage free(test->x); free(test); return 0; }
sans quoi ça reviendrait à faire ça :
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct{ char *x; }plop; void ko(plop a) { printf("%s\n",a.x); } int main(void) { plop test; test.x=malloc(sizeof(char)*20); strcpy(test.x,"hello world!"); ko(test); free(test.x); return 0; }