Partage
  • Partager sur Facebook
  • Partager sur Twitter

Allocation dynamique et tableau a 2 dimensions

Sujet résolu
    15 juillet 2007 à 6:26:14

    Bonjour,

    J'ai un petit problème dans la création de mon jeu. Je crée une carte en deux dimensions. Je veux stockés cette carte dans un tableau d'entiers. Ce tableau est donc en deux dimensions.



    int* m_grille = NULL;
    m_grille = new int[12][12];
     


    Cependant, j'ai un problème lors de la création du tableau. En effet, mon compilateur (codeblock) me renvoie l'erreur suivante:


    error: cannot convert `int (*)[12]' to `int*' in assigment


    Quelqu'un aurait une idée de la cause? As-t-on le droit d'allouer de la mémoire ainsi pour un tableau en 2d?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      15 juillet 2007 à 9:21:30

      Déjà dans ce que tu veux faire m_grille doit etre int int**.

      Pour ta question je ne crois pas (tu me fais douter :p ) : tu dois allouer une premier tableau d'int * puis allouer les autres tableaux dans chaque case de ce tableau :

      int ** m_grille = NULL;
      m_grille = new int[12];
      for(int i=0;i<12;i++)
      {
         m_grille[i] = new int[12];
      }


      Lors des delete n'oublie pas de restituer chaque ligne ;)
      • Partager sur Facebook
      • Partager sur Twitter
        15 juillet 2007 à 9:45:14

        Pourquoi mais pourquoi vouloir toujours faire des tableaux dynamiques "à la main" ?

        Alors qu'il existe des outils bien plus puissant dans la STL. Par exemple le template vector:

        #include <vector>
        using namespace std;

        vector< int > tableau;   //Déclare un tableau dynamique (vide) pouvant contenir des int
        tableau.push_back(3);    //Ajoute une case au tableau et met un 3 dedans
        tableau[0] = 5;          //Met un 5 dans la première case du tableau
         


        Avec là qu'exemple basique.
        Pour un tableau à 2 dimensions, on fera:

        vector< vector < int > > tableau2D;
        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
          15 juillet 2007 à 10:58:44

          peut-être parce que le cours de C++ n'aborde pas encore la STL...
          • Partager sur Facebook
          • Partager sur Twitter
            15 juillet 2007 à 18:14:09

            Bon, mon problème est maintenant résolu! Merci à vous.
            • Partager sur Facebook
            • Partager sur Twitter

            Allocation dynamique et tableau a 2 dimensions

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown