C++ tableaux 2D
Fermé
cristal
-
22 déc. 2008 à 09:42
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 22 déc. 2008 à 13:10
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 22 déc. 2008 à 13:10
A voir également:
- C++ tableaux 2D
- Plan 2d gratuit - Télécharger - Architecture & Déco
- Tableaux croisés dynamiques - Guide
- 37 2d 3f 3d 31 - Guide
- Fusionner deux tableaux excel - Guide
- À l'aide des tableaux ci-dessous, trouvez le mot dont le code ascii est le suivant : 50 52 4f 4d 45 4e 45 55 52 - Forum C
3 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
22 déc. 2008 à 10:25
22 déc. 2008 à 10:25
Salut.
Je pense que ce que tu essai de faire est impossible.
le mieux est de déclarer t autrement. En plus, retourner un tableau statique : danger ! il risque d'être modifier alors que tu ne t'y attends pas.
En C++, le mieux est de faire une classe pour les tableaux 2D.
Sinon, déclare t autrement, en int* t[3] et ensuite alloue lui la place qu'il faut.
Les tableaux 2D ce n'est pas trop le point fort du C, et c'est le moins qu'on puisse dire.
Je pense que ce que tu essai de faire est impossible.
le mieux est de déclarer t autrement. En plus, retourner un tableau statique : danger ! il risque d'être modifier alors que tu ne t'y attends pas.
En C++, le mieux est de faire une classe pour les tableaux 2D.
Sinon, déclare t autrement, en int* t[3] et ensuite alloue lui la place qu'il faut.
Les tableaux 2D ce n'est pas trop le point fort du C, et c'est le moins qu'on puisse dire.
Salut,
Merci pour la reponse,
En essayant de le declarer par
int* t[3]= new int[2];
J'obtiens l'erreur suivante (mon 't' est en fait 'timing' dans mon programme):
error: variable-sized object 'timing' may not be initialized
Y a-t-il une autre idee que de creer une classe Tableau2D? : J'aimerais eviter d'ecrire une nieme claase (je fais un projet informatique qui n'en finit plus).
Merci.
Merci pour la reponse,
En essayant de le declarer par
int* t[3]= new int[2];
J'obtiens l'erreur suivante (mon 't' est en fait 'timing' dans mon programme):
error: variable-sized object 'timing' may not be initialized
Y a-t-il une autre idee que de creer une classe Tableau2D? : J'aimerais eviter d'ecrire une nieme claase (je fais un projet informatique qui n'en finit plus).
Merci.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
22 déc. 2008 à 13:10
22 déc. 2008 à 13:10
il faut dire, ton truc, c'est n'importe quoi.
Il faut le faire en 3 fois ;
int *t[3];
t[0]=new int[2];
t[1]=new int[2];
t[2]=new int[2];
à ta place je ferai une structure :
struct timing{int t[3][2];}
ensuite :
si tu veux, tu peux même te simplifier la vie en créant une méthode dans ta structure :
int* timing::operator[](int i){return t[i];}
Il faut le faire en 3 fois ;
int *t[3];
t[0]=new int[2];
t[1]=new int[2];
t[2]=new int[2];
à ta place je ferai une structure :
struct timing{int t[3][2];}
ensuite :
timing fonction() { timing t; ... return t; }
si tu veux, tu peux même te simplifier la vie en créant une méthode dans ta structure :
int* timing::operator[](int i){return t[i];}