IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

forward declaration et error: dereferencing pointer


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut forward declaration et error: dereferencing pointer
    Bonjour à tous,

    J'ai du utiliser une déclaration avancé pour éviter une inclusion multiple. Le problème c'est que dans le fichier .c, j'ai également besoin d'accéder au membre de la structure pour laquelle j'ai fait une déclaration avancée ce qui me provoque une erreur :

    error: dereferencing pointer to incomplete type

    selon le guide de gcc on ne peux pas déréférencer un pointeur sur une structure non déclaré
    In C and C++ it is possible to declare pointers to structs before declaring their struct layout, provided the pointers are not dereferenced
    seulement, j'ai inclue le fichier .h de la structure en question dans mon fichier .c où je déréférence mon pointeur. Elle est donc déclarée me semble t'il

    Pourquoi cela ne marche pas ? que dois-je faire ?

    Merci d'avance.
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par vincent.mbg Voir le message
    seulement, j'ai inclue le fichier .h de la structure en question dans mon fichier .c où je déréférence mon pointeur. Elle est donc déclarée me semble t'il
    Bizarre car c'est la bonne démarche.

    Il y ba probablement un problème ailleurs.

    On peut voir le code (.c et .h) qui reproduit le problème ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    merci de ta réponse ram-0000

    J'ai commancer par tout mettre dans le même fichier.h mais ça ne marchait toujours pas.
    J'ai donc fait un code minimal pour reproduire l'érreur mais celui-ci marchait (je le laisse en PJ)

    Le problème venait d'ailleur un nom de structure de la déclaration avancée était bon mais il y avait une coquille sur le nom de la déclaration normal. Désolé pour le dérangement


    Par contre j'ai une question, lorsque l'on écrit une librairie c'est mieux de faire un seul fichier d'entête ou peut-on importer des entête dans un entête principale ?
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par vincent.mbg Voir le message
    Par contre j'ai une question, lorsque l'on écrit une librairie c'est mieux de faire un seul fichier d'entête ou peut-on importer des entête dans un entête principale ?
    Une réponse de normand ? cela dépend

    Je ne pense pas qu'il y ait de règle écrite dans le marbre.

    Après tout, quand tu inclues <stdio.h>, tu inclues probablement et à l'insu de ton plein gré d'autres fichiers.

    C'est la taille de ta librairie et son découpage fonctionnelle ou non qui va dicter s'il y a 1 seul fichier .h ou plein de fichiers .h
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Tant mieux, je vais pouvoir me concentrer un peu plus sur le code

    merci
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. error: dereferencing pointer to incomplete type
    Par rufa11 dans le forum Réseau
    Réponses: 2
    Dernier message: 11/02/2015, 09h41
  2. error: dereferencing pointer to incomplete type
    Par Amnael dans le forum Débuter
    Réponses: 15
    Dernier message: 16/03/2014, 23h26
  3. Réponses: 7
    Dernier message: 27/02/2012, 17h55
  4. has incomplete type,forward declaration of ,
    Par Pragmateek dans le forum C++
    Réponses: 12
    Dernier message: 22/07/2006, 15h03
  5. dereferencing pointer....
    Par vince3320 dans le forum C
    Réponses: 19
    Dernier message: 12/10/2005, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo