Déclarer tableau 2D avec dimensions variables en C++

Résolu
vvdbvivien07 Messages postés 9 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 27 décembre 2011 - 27 déc. 2011 à 08:42
vvdbvivien07 Messages postés 9 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 27 décembre 2011 - 27 déc. 2011 à 23:12
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

cptpingu Messages postés 3835 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 1 novembre 2022 124
27 déc. 2011 à 10:29
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
3
vvdbvivien07 Messages postés 9 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 27 décembre 2011
27 déc. 2011 à 23:12
C'est bon j'ai réussi à m'en sortir avec les vectors et les resize !

Merci beaucoup de votre aide !
3
vvdbvivien07 Messages postés 9 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 27 décembre 2011
27 déc. 2011 à 11:18
Merci du conseil !
0
cs_LA_Tupac Messages postés 305 Date d'inscription jeudi 29 avril 2004 Statut Membre Dernière intervention 18 janvier 2012 1
27 déc. 2011 à 21:14
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 !
0