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

MFC Discussion :

les liste


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Par défaut les liste
    bonjours, j'ai cette liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    typedef struct CreaPile
    {
    		char *			p_federate;
    		int				p_lrcTn;		
    		int				p_localTn;		
    		int				p_deltaT;		
    		char *			p_nat;		
    		char *			p_src;		
    		int				p_azimuth;
    		int				p_range;
    		char *			p_latitude;
    		char *			p_longitude;
    		int				p_course;
    		int				p_speed;
    		char *			p_name;
    		char *			p_environment;
    		char *			p_trackIndentity;
    		char *			p_trackPriId;
    		char *			p_trackSecId;
    		struct CreaPile *prec;
    } CreaPile ;
    je veux faire une fonction pour ajouter un élément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    void CPile::Push(CreaPile **p, char * federate, int lrcTn, int localTn, int deltaT, char * nat, char * src,
    				 int azimuth, int range, char * latitude, char * longitude, int course, int speed, 
    				 char * name,	char * environment, char * trackIndentity, char * trackPriId,
    				 char *	trackSecId)
    {
            CreaPile *element = malloc(sizeof(CreaPile));
            if(!element) return;     /* Si l'allocation a échouée. */
     
    		element->p_federate = federate;
    		element->p_lrcTn = lrcTn;		
    		element->p_localTn = localTn;		
    		element->p_deltaT = deltaT;		
    		element->p_nat = nat;		
    		element->p_src = src ;		
    		element->p_azimuth = azimuth;
    		element->p_range = range;
    		element->p_latitude = latitude;
    		element->p_longitude = longitude;
    		element->p_course = course;
    		element->p_speed = speed;
    		element->p_name = name;
    		element->p_environment = environment;
    		element->p_trackIndentity = trackIndentity;
    		element->p_trackPriId = trackPriId;
    		element->p_trackSecId = trackSecId;
     
            element->prec = *p;
            *p = element;       /* Le pointeur pointe sur le dernier élément. */
     
    }
    mais il me met cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\ConsoleHLA\modules\Scenario_Rejeu_management\Src\Pile.cpp(39) : error C2440: 'initializing' : cannot convert from 'void *' to 'struct CreaPile *'
            Conversion from 'void*' to pointer to non-'void' requires an explicit cast
    Error executing cl.exe.
    pour cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CreaPile *element = malloc(sizeof(CreaPile));
    POur quelle raison?

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    il faut que tu castes en CreaPile * le retour de malloc

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    ou que tu utilises l'opérateur new : tu es en C++
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  2. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32
  3. [LG]Les listes
    Par franck H dans le forum Langage
    Réponses: 2
    Dernier message: 16/01/2004, 15h15

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