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 :

Tableau dynamique à deux dimensions


Sujet :

MFC

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut Tableau dynamique à deux dimensions
    Je travaille avec VC++ 6.0 et je voudrais utiliser un tableau dynamique à deux dimensions.
    J’ai procédé comme suit :

    • Déclaration de d’un tableau de pointeur dans mon fichier d’entête :

    protected:
    int m_nDimensions;
    int *m_pSquares[];

    • Allocation de mémoire dans mon fichier d’implémentation

    m_pSquares = new int[m_nDimensions][];
    for (int nIndex = 0; nIndex < m_nDimensions; nIndex++)
    m_pSquares[nIndex] = new int[m_nDimensions];

    J’obtiens les erreurs suivantes à la compilation :

    (.h): warning C4200: nonstandard extension used : zero-sized array in struct/union
    (.cpp): error C2087: '<Unknown>' : missing subscript
    (.cpp): error C2440: '=' : cannot convert from 'int (*)[1]' to 'int *[]'
    There are no conversions to array types, although there are
    conversions to references or pointers to arrays

    J’ai eu les mêmes erreurs en compilant le projet dans VC++ 2003.
    Cependant ça marche très bien en C#

    Je n’ai rien trouvé dans MSDN qui pouvait m’aider.
    J’aimerai savoir si c’est d’abord possible et si qu’un d’autre a déjà rencontré ce problème et comment il la résolu.

    Merci d’avance de votre aide.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    pourquoi ne pas utiliser un CArray ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include <afxtempl.h> // dans stdafx.h
     
    typedef CArray<int ,int> ArrayInt;
    CArray <ArrayInt,ArrayInt> aIntInt;

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 581
    Points
    41 581
    Par défaut
    Les tableaux .Net ressemblent plus aux tableaux java qu'aux tableaux C++.

    Pour un tableau en C++, utilise plutôt des vector, voire un vector de vector, etc.
    Bref, fais une recherche sur le forum et dans la FAQ, les tableaux à deux dimensions ça revient très souvent ici.

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 165
    Points : 106
    Points
    106
    Par défaut
    Merci pour le CArray.
    Mais je fais en faite de la simulation et l'utilisation d'un CArray cosomme plus de temps.
    Mais faute de mieux.

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    tu peux aussi fixer la taille du tableau par la fonction SetSize ,ça évitera le redimenssionement dynamique du tableau...

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

Discussions similaires

  1. Tableau dynamique deux dimensions de class
    Par Hyssgrif dans le forum C++
    Réponses: 3
    Dernier message: 17/04/2015, 15h22
  2. copier un tableau dynamique à deux dimensions
    Par Benoit_T dans le forum Débuter
    Réponses: 27
    Dernier message: 09/11/2009, 11h29
  3. Tableau dynamique à deux dimensions
    Par Neuromancien2 dans le forum ASP
    Réponses: 4
    Dernier message: 13/06/2007, 18h12
  4. Réponses: 1
    Dernier message: 09/03/2006, 17h25
  5. Réponses: 6
    Dernier message: 26/11/2005, 19h55

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