Déclarer tableau 2D avec dimensions variables en C++ [Résolu]

Signaler
Messages postés
9
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
27 décembre 2011
-
Messages postés
9
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
27 décembre 2011
-
Bonjour,

Comment faire pour déclarer (dans une classe) un tableau 2D avec ses deux dimensions variables ?
voici mon .h :

#ifndef DEF_IMAGE
#define DEF_IMAGE

#include <string>
#include   // std::cin, std::cout, std::endl
#include <fstream>
#include <conio.h>
#include <stdio.h>
#include <map>
#include <ctime>

class Image
{

private:

        double *p_hauteur;

        double *p_largeur;


public:

        double p_hauteur=100;
        double p_largeur=100;

       


        double getHauteur();
        double getLargeur();


double **tabPix = new double* [p_hauteur];
   for (int i = 0; i < p_hauteur; i++)
      tabPix[i] = 0;
   for (int i = 0; i < p_hauteur; i++)
      tabPix[i] = new double[p_largeur];



};


#endif


... mais ça ne marche pas.

Pourriez-vous m'aider s'il vous plaît?

4 réponses

Messages postés
3813
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
12 juin 2020
108
Bonjour.

En C++, pas besoin de créer des tableaux "à la main".
Utilise un std::vector ! C'est un tableau à dimension variable, tout simplement.
(Donc un std::vector<std::vector<double> > pour un tableau de double à deux dimensions).

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
9
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
27 décembre 2011

C'est bon j'ai réussi à m'en sortir avec les vectors et les resize !

Merci beaucoup de votre aide !
Messages postés
9
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
27 décembre 2011

Merci du conseil !
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012

Et bon conseil en plus
Un peut d'aide ici
Garde les namespaces affichés (sans "using namespace") pour des raisons longuement discutées.
Utilise des typedef par exemple pour rendre le code lisible.
typedef std::vector<std::vector<double> TableauDoubles;

Courage !