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 :

Message « request for member in something not a structure or union »


Sujet :

C

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 34
    Points
    34
    Par défaut Message « request for member in something not a structure or union »
    Bonjour,

    J'obtiens un message d'erreur comme ci dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    |63|error: request for member 'suivant' in something not a structure or union|
    pour le code suivant.

    Je ne comprends pas pourquoi le premier print fonctionne mais pas le second.
    Sans doute une question de pointeur
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void ajouter(P_un_element_series *collectionSeries, P_un_element_series serie)
    {
        assert(serie);
        assert(!serie->suivant);
     
        P_un_element_series pl=collectionSeries;
     
        pl=inserer_element_fin_series(pl,serie);
     
        collectionSeries=pl;
     
       printf("\n test1 %s",pl->suivant->element->titre);
       printf("\n test1 %s",collectionSeries->suivant->element->titre);
    }

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Utilises la balise code

    Certains intervenants te diront "Cela t'apprendra à masquer les pointeurs avec un #define ou un typedef"

    Sinon je ne pense pas que le premier printf (celui qui compile) va t'afficher le titre escompté (s'il ne plante pas à l'exécution)

    Édit: je n'ai pas vu que pl avait été modifié


    Rappel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        int a = 5;
        int* p_a1  = &a;
     
        int b = *(p_a1); // 5
        int* p_a2 = p_a1 // &a
     
        int** p_p_a = &p_a1;
        int* p_a3 = *(p_p_a); // &a
        int c = *(*(p_p_a)); // 5
        int d = *(p_a3); // 5

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 34
    Points
    34
    Par défaut
    merci beaucoup pour la réponse. Le premier printf fonctionne adéquatement.
    je ne comprends pas ce qui pose problème.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Ce n'est pas compliqué à comprendre : le compilateur te dit justement que collectionSeries n'est pas un pointeur d'une structure ni d'un union.
    Bien oui c'est un pointeur de pointeur (il faudrait évidemment nous dire ce qu'est P_un_element_series)

    De toute manière ton code est crade : tu affectes un pointeur de P_un_element_series dans un P_un_element_series et vise et versa


    Édit: Cela semble vouloir dire que tu passes en paramètre un P_un_element_series au lieu d'un pointeur de P_un_element_series
    Ton compilateur ne te dit rien?

  5. #5
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    Par défaut
    Voir ici pour le détail des structures de cet énoncé.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2012, 14h46
  2. Réponses: 29
    Dernier message: 23/08/2010, 09h24
  3. request for member
    Par annesophiedecar dans le forum C++
    Réponses: 2
    Dernier message: 11/10/2009, 21h20
  4. [C] request for member ". . ." in
    Par Meri Nose dans le forum C
    Réponses: 11
    Dernier message: 30/01/2009, 20h03
  5. Réponses: 14
    Dernier message: 14/09/2007, 17h28

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