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 :

Tableau de string en argument


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par défaut Tableau de string en argument
    J'essaie de passer un tableau de string de taille variable en argument de la fonction 'envoi'. Voici le code qui n'a abouti à aucun résultat:

    prototype:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void envoi(string *liste_contact[], string message);
    déclaration et appelle de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    {
    .....
    string *liste_contact[];
     
    envoi(liste_contact[], message);
    ......
    }
    Les erreurs ont lieux à ces lignes et grosso modo le compilateur dit qu'il voudrait une taille pour le tableau

    En parcourant le forum j'ai lu qu'on ne pouvait pas passer un tableau bidimensionnel des taille variable en argument à cause d'un problème de mémoire. Sachant que les string sont des tableaux de caractères, un tableau de string devrait correspondre à char a[][];
    Le problème viendrait-il de là ?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Le problème c'est que tu n'utilises pas les bons outils. En C++, un tableau dynamique de chaînes de caractères, c'est std::vector<std::string>. Tu devrais avoir moins de soucis avec ça

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par défaut
    j'ai remplacer "string" par "vector<string>" mais les deux erreurs sont toujours là.

    prototype :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void envoi(vector<string> *liste_contact[], string message);
    implémentation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    vector<string> *liste_contact[];
     
    envoi(liste_contact[], message);

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    std::vector est un tableau, donc tu n'as plus besoin de * ou autre [].

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void envoi(vector<string> liste_contact, string message);
    Ou encore, en version un peu plus optimisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void envoi(const vector<string>& liste_contact, const string& message);

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Par défaut
    Merci.

    En plus vector possède des membres qui me seront bien utile.

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

Discussions similaires

  1. Tester si une String fait partie d'un tableau de String
    Par laloi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/04/2005, 16h47
  2. [J2SE] tableau de string
    Par Jules82 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 17/03/2005, 14h35
  3. Ranger un tableau de String dans ma HashMap
    Par jeyce dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 26/08/2004, 22h41
  4. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55
  5. [Collections] Tableau de String
    Par gexti dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 02/06/2004, 15h42

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