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 :

Convertion de pointeurs


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut Convertion de pointeurs
    Bonjour à tous!
    je suis entrain de réaliser un projet et j'ai des erreur de type pointeur lors de ma compilation:

    Déclaration de deux type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    typedef struct {
        int dep; // arret de depart
        int arr; // arret d' arrivé
        double cout; // le coût d'un arret a l'autre
    } ARC;
     
    /* les elements du graphe sont des listes chainés
     *  */
    typedef struct{
    	ARC val;
    	struct trajet *suivt;
    } Trajet ;
    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
    Trajet *ajout_queue(ARC c , Trajet* liste ){
     
        Trajet* nveau= malloc( sizeof(Trajet));
        nveau->val =c;
        nveau->suivt=NULL;
        if ( liste == NULL){
            return nveau;
        }
        else{
            Trajet* temp= liste;
            while( temp->suivt !=NULL){
                temp=temp->suivt;
            }
            temp->suivt =nveau;
            return liste;
        }
    }
    voici le message d'erreur que j'ai pour les ligne 12 et 14 :

    Attention: assignment from incompatible pointer type

    Je ne vois pas d'où peut venir l'erreur.
    Pouvez vous m'aidez ?
    Merci !!!!

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    temp est un Trajet avec que temp->suivt est un trajet.

    Essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct trajet {
    	ARC val;
    	struct trajet *suivt;
    } Trajet ;
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct trajet {
    	ARC val;
    	struct trajet *suivt;
    } ;
     
    typedef struct trajet Trajet;

  3. #3
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    salut

    pour être un peu plus "propre", malloc retourne un void *, donc cast le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Trajet* nveau= (Trajet*)malloc( sizeof(Trajet));

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    pour être un peu plus "propre", malloc retourne un void *, donc cast le résultat
    Ce n'est pas la peine
    http://c.developpez.com/faq/index.ph...#DIVERS_malloc

  5. #5
    Membre Expert Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Oui, alors, on va dire que ça dépend du compilo. (Visual 2008 me claque un warning)

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Oui, alors, on va dire que ça dépend du compilo. (Visual 2008 me claque un warning)
    Peut-être compiles-tu en C++ sur visual 2008 ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Arf

    T'as pas de chance, tu vas être obligé de caster (Visual est pas mal dédié au C++ ? Il prévoit peut-être le coup que ton code C sera porté vers une application en C++ à un moment ou un autre). Par pure curiosité, tu pourrais nous montre le dit warning stp ?

Discussions similaires

  1. Convertion pointeur tableau de char EN string
    Par radlabo94 dans le forum C++
    Réponses: 5
    Dernier message: 27/05/2014, 15h07
  2. Réponses: 1
    Dernier message: 14/11/2007, 14h53
  3. Réponses: 1
    Dernier message: 13/10/2007, 20h05
  4. convertion pointeur vers tableau
    Par gdpasmini dans le forum C++
    Réponses: 2
    Dernier message: 30/03/2006, 00h34
  5. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44

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