Déréferencement d'un pointeur de type incomplet
Fermé
ABouras
Messages postés
26
Date d'inscription
vendredi 16 novembre 2012
Statut
Membre
Dernière intervention
7 décembre 2012
-
Modifié par ABouras le 7/12/2012 à 10:15
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 7 déc. 2012 à 16:25
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 7 déc. 2012 à 16:25
A voir également:
- Déréferencement d'un pointeur de type incomplet
- Clear type - Guide
- Pointeur souris disparu windows 10 - Guide
- Changer le type de fichier - Guide
- Type de ram - Guide
- Indiquez l'unité pour la taille de ces fichiers. type document texte brut taille 8,1 ?? première réponse à trouver longueur 8085 caractères type image jpeg taille 3,0 ?? deuxième réponse à trouver dimension 3776 × 2124 px type vidéo mpeg-4 taille 1,1 ?? troisième réponse à trouver durée 02:01:15 - Forum Google Chrome
2 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 7/12/2012 à 10:55
Modifié par [Dal] le 7/12/2012 à 10:55
Salut ABouras,
video_decoder_config_t n'est pas une structure, c'est un type définit avec typedef.
Lorsque tu déclares vec, tu devrais donc écrire :
Cependant, je ne comprend pas la suite de ton code, car je ne vois nulle part que tu aies alloué la mémoire nécessaire à ce qui est pointé par dst_picture (qui est un pointeur sur vp_api_picture_t, ni, a fortiori, que tu aies initialisé les valeurs de width et height qui sont contenues dans la structure de type dst_picture et dont tu te sers comme si elles l'étaient.
Dal
video_decoder_config_t n'est pas une structure, c'est un type définit avec typedef.
Lorsque tu déclares vec, tu devrais donc écrire :
video_decoder_config_t * vec;
Cependant, je ne comprend pas la suite de ton code, car je ne vois nulle part que tu aies alloué la mémoire nécessaire à ce qui est pointé par dst_picture (qui est un pointeur sur vp_api_picture_t, ni, a fortiori, que tu aies initialisé les valeurs de width et height qui sont contenues dans la structure de type dst_picture et dont tu te sers comme si elles l'étaient.
Dal
ABouras
Messages postés
26
Date d'inscription
vendredi 16 novembre 2012
Statut
Membre
Dernière intervention
7 décembre 2012
7 déc. 2012 à 15:15
7 déc. 2012 à 15:15
Si j'ai définit ensuite vec de la manière suivante :
vec = (struct video_decoder_config_t *)cfg->last_decoded_frame_info;
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
7 déc. 2012 à 16:25
7 déc. 2012 à 16:25
Je ne sais pas ce qu'est cfg (ce n'est pas définit dans ce que tu postes). Mais en admettant que ce soit un espace alloué vers lequel peut pointer un pointeur de type video_decoder_config_t, tu ajoutes de nouveau un "struct" qui n'a rien à faire là.
soit tu fais :
et dans ce cas tu utilises l'alias de type que tu as définit avec typedef.
soit du fais :
et dans ce cas, tu utilises l'étiquette de struct qui est préfixée d'un underscore (et ton typedef ne sert à rien).
Dal
PS : et ton pointeur dst_picture, il correspond à de la mémoire allouée ?
soit tu fais :
video_decoder_config_t * vec; vec = (video_decoder_config_t *)cfg->last_decoded_frame_info;
et dans ce cas tu utilises l'alias de type que tu as définit avec typedef.
soit du fais :
struct _video_decoder_config_t * vec; vec = (struct _video_decoder_config_t *)cfg->last_decoded_frame_info;
et dans ce cas, tu utilises l'étiquette de struct qui est préfixée d'un underscore (et ton typedef ne sert à rien).
Dal
PS : et ton pointeur dst_picture, il correspond à de la mémoire allouée ?
7 déc. 2012 à 14:30
Dal