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 :

Invalid conversion from 'const char*' to 'xmlChar'


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut Invalid conversion from 'const char*' to 'xmlChar'
    Bonjour, j'essaie de parser un XML avec Libxml et Xpath, mais quand je teste mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlXPathEvalExpression("/racine/noeud", ctxt);
    J'obtiens une erreur :

    error: invalid conversion from 'const char*' to 'xmlChar'
    Qu'est-ce que ça veut dire, étant donné que je ne définis pas de char à cette ligne ?

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Le type de l'argument "/racine/noeud" est const char *

  3. #3
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut
    En quelque sorte c'est une chaîne de caractères oui... Mais comment écrire l'expression autrement ?

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlXPathEvalExpression(BAD_CAST "/racine/noeud", ctxt);

  5. #5
    Membre averti
    Inscrit en
    Octobre 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 15
    Par défaut
    Merci, BAD_CAST a l'air de fonctionner. Mais est-ce la meilleure solution ? Si j'ai bien compris, BAD_CAST demande d'ignorer les erreurs de typage, ne vaudrait-il pas mieux régler le problème de typage ?

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    BAD_CAST est simplement une macro de la libxml2 qui vaut (xmlChar *).

    Autrement dit ajouter BAD_CAST ne fait que caster ton (const char *) en (xmlChar *), ce qui est tout à fait propre.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/09/2011, 15h53
  2. Réponses: 8
    Dernier message: 15/03/2011, 17h14
  3. Réponses: 4
    Dernier message: 15/10/2008, 21h30
  4. Réponses: 7
    Dernier message: 16/02/2008, 07h30
  5. error: invalid conversion from `const wxChar*' to `CHAR*'
    Par barbarello dans le forum wxWidgets
    Réponses: 16
    Dernier message: 31/01/2006, 11h28

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