[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
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - 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;
}