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 :

[MFC] Retourner un CStringArray


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Par défaut [MFC] Retourner un CStringArray
    Bonjour,

    Je n'arrive pas à retourner un tableau de chaine CStringArray.
    Voilà comment se présente le code :

    dans la classe CDecode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CStringArray* CDecode::lecture (..., ..., ... )
    {
     CStringArray* tab[8];
     tab[8] = new CStringArray();
     
     tab[0]->Add(...);
     tab[1]->Add(...);
     ...
     tab[7]->Add(...);
    }
    dans la classe CmonprogDoc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CDecode message;
    CStringArray* tab[8];
    tab[8] = new CStringArray();
    ...
    this->tab=message.lecture(..., ..., ...);
    ...
    j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cannot convert from 'class CStringArray *' to 'class CStringArray *[8]'

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    ca c'est faux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CStringArray* CDecode::lecture (..., ..., ... )
    {
     CStringArray* tab[8];
     tab[8] = new CStringArray();
     
     tab[0]->Add(...);
     tab[1]->Add(...);
     ...
     tab[7]->Add(...);
    }
    ca doit plutot correspondre à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     CStringArray CDecode::lecture (..., ..., ... )
    {
     CStringArray tab;
     
     tab.Add(...);
     tab.Add(...);
     ...
     tab.Add(...);
    return tab
    }
    tab est deja un tableau pas besoin d'en faire un tableau de tableau (enfin si j'ai bien compris

    et cette ligne la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      tab[8] = new CStringArray();
    dit qu'à la 8 eme case de tab tu vas creer un CString array

    en fait tu fveux quoi exactement ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Par défaut
    En fait si, j'ai justement besoin de faire un tableau de tableau :
    tab[0] correspond à la liste de mots commençant par 'R'
    tab[1] corrrespond à la liste de mots commençant par 'V'
    ...
    etc ...

    j'ai un tableau qui représente 8 listes de mots différents
    c'est pour cela que j'ai mis CStringArray* tab[8]

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    oki je comrpedsn sauf que quand tu fais

    ca correspond, en raccourcissant bcp à un CString***

    en effet CStringArray est un tableau de chaine, CStringArray est un pointeur sur un tableau de chaine et CStringArray* tab[8] est un tableau de pointeur sur tableau de chaine

    mais plutot :

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Par défaut
    Quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CStringArray CDecode::lecture (..., ..., ... )
    {
    CStringArray tab[8];
     
    ...
    return tab[8]
    }
    j'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'CStringArray::CStringArray' : function does not take 1 parameters
    et quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CStringArray CDecode::lecture (..., ..., ... )
    {
    CStringArray tab[8];
    ...
    return tab
    }
    j'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     'CStringArray::CStringArray' : function does not take 1 parameters

  6. #6
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CStringArray* CDecode::lecture (..., ..., ... )
    {
    CStringArray* tab = new CStringArray[8];
    ...
    return tab
    }
    et pour l'appel ca donnerai un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CDecode message;
    CStringArray tab;
     
    ...
    tab=message.lecture(..., ..., ...);

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

Discussions similaires

  1. [VC++][MFC][DLL]retourner un tableau
    Par ben_popcorn dans le forum MFC
    Réponses: 1
    Dernier message: 14/01/2007, 00h15
  2. Réponses: 23
    Dernier message: 17/05/2006, 16h35
  3. [C++/MFC]Question CStringArray
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 14/05/2006, 23h33
  4. Réponses: 3
    Dernier message: 25/04/2005, 13h38
  5. [MFC] Retourner une liste d'objets
    Par 1cado dans le forum MFC
    Réponses: 10
    Dernier message: 28/07/2003, 12h11

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