Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1783 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Constructeur & taille de tableau spécifiée par const int

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Constructeur & taille de tableau spécifiée par const int

n°913068
antsite
Je me souviens
Posté le 02-12-2004 à 17:20:17  profilanswer
 

salut,
ce code ne compile pas, j'aimerais bien comprendre pourquoi! on est donc obligé de passer par de l'allocation dynamique ?
 

Code :
  1. class A
  2. {
  3. public:
  4.    const int n;
  5.    A(int k) : n(k) {}
  6. private:
  7.    int i[n]; //ici le compilo ne veut pas
  8. };
  9. int main()
  10. {
  11.    A a(2);
  12. }


merci

mood
Publicité
Posté le 02-12-2004 à 17:20:17  profilanswer
 

n°913071
cris56
Posté le 02-12-2004 à 17:23:01  profilanswer
 

faut que ce soit connu à la compilation, moi je ferais avec un template mais je suis pas une brute en c++ :sweat:

n°913074
Taz
bisounours-codeur
Posté le 02-12-2004 à 17:25:16  profilanswer
 

un tableau a une taille statique / connue à la compilation.

n°913098
antsite
Je me souviens
Posté le 02-12-2004 à 17:58:57  profilanswer
 

ah oui le static, je le soupçonnais...
mais quand on dit "connu à la compilation", dans mon code c'est pas connu à la compilation ? (je me doute bien que non puisque ça compile pas...), parce que dans le main, j'ai construit a(2) donc on sait que la taille c'est 2 à la compilation ? mais si on compile d'abord la classe et ensuite "l'utilisation" ce qui semble logique ben en effet c'est pas connu à la compilation...

n°913167
cris56
Posté le 02-12-2004 à 19:08:12  profilanswer
 

ben regarde, rien qu'en exemple
 
sizeof(A) est une expression constante (resolu à la compilation)

n°913241
Joel F
Real men use unique_ptr
Posté le 02-12-2004 à 20:35:29  profilanswer
 

Code :
  1. template<size_t N> class A
  2. {
  3. public:
  4.    static const size_tsize = N;
  5.    A() {}
  6. private:
  7.    int i[N]; //ici le compilo il a interet à vouloir :fou:
  8. };
  9. int main()
  10. {
  11.    A<2> a;
  12. }


Message édité par Joel F le 02-12-2004 à 21:33:36
n°913242
cris56
Posté le 02-12-2004 à 20:38:26  profilanswer
 

static const size_t size = N; pour etre coherent

n°913280
Joel F
Real men use unique_ptr
Posté le 02-12-2004 à 21:33:12  profilanswer
 

oui evidement :jap:

n°913435
Taz
bisounours-codeur
Posté le 03-12-2004 à 00:27:27  profilanswer
 

boost::array<> quoi :o

n°913487
Joel F
Real men use unique_ptr
Posté le 03-12-2004 à 08:59:57  profilanswer
 

Taz a écrit :

boost::array<> quoi :o


 
tvmet, blitz++, fml ...

mood
Publicité
Posté le 03-12-2004 à 08:59:57  profilanswer
 

n°913523
spokup
Posté le 03-12-2004 à 09:30:41  profilanswer
 

Code :
  1. class A
  2. {
  3. public:
  4.    A(int k)
  5.    {
  6.     i = new int[k];
  7.    }
  8. private:
  9.    int *i;
  10. };
  11. int main()
  12. {
  13.    A a(2);
  14. }


 
C'est aussi simple que ça pas besoin de connaitre les templates


Message édité par spokup le 03-12-2004 à 09:31:14
n°913529
Joel F
Real men use unique_ptr
Posté le 03-12-2004 à 09:37:47  profilanswer
 

sauf que apparament le mosieur veut qqchose de connu à la compil ^^

n°913536
mynab
Posté le 03-12-2004 à 09:44:36  profilanswer
 

Et si posssible qui ne leak pas.

n°913539
Joel F
Real men use unique_ptr
Posté le 03-12-2004 à 09:46:57  profilanswer
 

en plus ouais ^^

n°913551
cris56
Posté le 03-12-2004 à 10:08:16  profilanswer
 

et quand on a du mal à faire une classe agrégeant un pointeur sans que ca fuis, ca fait une raison de plus d'utiliser un vector


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Constructeur & taille de tableau spécifiée par const int

 

Sujets relatifs
dimension d'un tableau ?Argument depuis constructeur dans limite tableau
Taille de texte et div à hauteur dynamiqueProbleme de tableau a 2 dimention
[C++] Pointeur sur constructeur ou Pointeur sur Classe ?Ecrire des entiers dans un tableau de char
taille relative/absolue[HTML] Taille de cellule différent sous Firefox et IE
Plutot frames ou tableau? 
Plus de sujets relatifs à : Constructeur & taille de tableau spécifiée par const int


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR