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

XML Discussion :

[tinyXML] problème à la compilation (no matching function for call xx)


Sujet :

XML

  1. #1
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut [tinyXML] problème à la compilation (no matching function for call xx)
    Bonsoir,
    je veux parser un fichier d'options en XML avec tinyXML. j'ai fait une fonction GetConfigOptn qui récupère la valeur du noeud passé en paramètre. malheureusement j'ai une erreur de compilation que je n'arrive pas à résoudre.

    ma fonction :
    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    string GetConfigOptn(string name, TiXmlDocument &doc){
        vector <string> path = explode(name,'.');
        TiXmlElement *Root = doc.FirstChildElement();
        TiXmlElement *elem;
        for(int i = 0; i < path.size(); ++i){
            string node = path[i];
            elem = Root->FirstChildElement(node);
            //if (!elem) return "NotFound";
        }
        return elem->GetText();
    }

    l'erreur la ligne de l'erreur est la 7 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    main.cpp|28|error: no matching function for call to 'TiXmlElement::FirstChildElement(std::string&)'|
    je ne sais pas quoi faire car si je fais elem = Root->FirstChildElement("foo");ça fonctionne....
    merci pour votre aide

    précisions : je suis sous windows 7 et je compile avec gcc dans codeblocks avec la directive c++11
    la fonction explode que j'utilise sépare simplement une chaine en vecteur selon un délimiteur (comme la fonction php)
    n'oubliez pas de voter si le message vous a aidé


  2. #2
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    c'est bon j'ai trouvé la réponse, je la poste pour si jamais y'en a d'autres qui ont le pb : pour utiliser des string dans ces fonctions, il faut compiler avec l'option STL. sinon, il faut convertir en Cstring char * cstring = cppstring.c_str ()
    n'oubliez pas de voter si le message vous a aidé


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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/01/2012, 14h34
  2. Réponses: 2
    Dernier message: 05/08/2011, 18h13
  3. No matching function for call to 'Joueur::Joueur'
    Par Go'Gaule dans le forum Débuter
    Réponses: 4
    Dernier message: 02/07/2011, 07h50
  4. Réponses: 8
    Dernier message: 09/07/2010, 16h02
  5. no matching function for call
    Par pimousse280187 dans le forum Linux
    Réponses: 1
    Dernier message: 06/06/2009, 21h08

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