begin process at 2010 02 10 05:58:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Tableau avec new


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau avec new

vendredi 24 octobre 2003 à 05:20:13 | Tableau avec new

Dalamar

bonjour, je suis incapable de créer un tableau multidimentionnel avec une fonction:

TileEngine::TileEngine(const int w, const int h) {

nTiles = w * h;
(*surface) = new Tile[w][h];

}
//surface est de type tile

le compilateur(vc++) me dit
Error C2540: non-constant expression as array bound
et
error C2679: binary '=' : no operator ...

merci de m'aider,
D.a.l.a.m.a.r
vendredi 24 octobre 2003 à 18:13:12 | Re : Tableau avec new

garslouche


Tu n'as pas le droit de faire un tableau dont la taille est une variable. C'est parceque la mémoire est allouée à l'avance!
Le plus classique c'est d'en faire un avec une taille très grande (qui ne sera pas forcément utilisée). Sinon faut utiliser malloc
vendredi 24 octobre 2003 à 18:19:50 | Re : Tableau avec new

djl

bo si new sert justement a faire une alloc mais ca alloue une zone pour un pointeur et un tableau 2d c'est un pointeur de pointeurs Tile**

(*surface) = new Tile[w];
for(i=0;i<w;i++) *surface[i]=new Tile[h];
vendredi 24 octobre 2003 à 18:47:45 | Re : Tableau avec new

garslouche


oui autant pour moi....dslé dalamar...j'ai fumé....
samedi 25 octobre 2003 à 00:24:56 | Re : Tableau avec new

Dalamar

désolé, jai essayé ceci:
TileEngine::TileEngine(const int w, const int h) {

nTiles = w * h;
(*surface) = new Tile[w];
for(int i=0;i<w;i++)
*surface[i] = new Tile[h];

}

mais ça ne marche toujours pas...


D.a.l.a.m.a.r
samedi 25 octobre 2003 à 10:39:40 | Re : Tableau avec new

garslouche


new renvoie un pointeur sur Tile, càd un Tile*. Alors que *surface te donne l'objet pointé par surface. Si j'ai bien compris surface est du type Tile c'est donc &surface = new Tile[w][h] qu'il faut écrire
samedi 25 octobre 2003 à 10:51:19 | Re : Tableau avec new

djl

exact, sinon pour ce que g t dit marche il fallait que surface soit lui meme un pointeur sur Tile** soit Tile***



Tile** surface;
surface = new Tile*[w];
for(i=0;i<w;i++) surface[i]=new Tile[h];


Cette discussion est classée dans : int, tableau, const, surface, tileengine


Répondre à ce message

Sujets en rapport avec ce message

Qsort sur une ligne d'un tableau 2d [ par thespartan ] Bonjour.Jai un tableau des x,y,z de N éléments. J'aimerais trier ce tableau selon sa 3ème ligne par ordre croissant or quand j'appele qsort, il le fai Convertir tableau int en const char* et inverse [ par samuraijack1412 ] Bonjour,J'ai écrit une application client-serveur. Ils se communiquent par des sockets TCP. Pour envoyer au serveur un tableau d'entier, j'utilise:int Programmation C++ [ par laurentdav ] Bonjour,Je suis actuellement un peu perdu. Je dois inverser une matrice en utilisant GMRES, gradient pour les matrices non inversibles. Mon code sembl passer un tableau 2D en paramètre et retourner une somme [ par lionpri ] Bonjour,Je suis débutant en C et j'ai du mal à comprendre les déclarations de fonction. J'aimerais passer un tableau 2D en paramètre d'une fonction et const copie c++ [ par amoulina ] Salut tout le monde svp est ce qu'ilya quelqun qui peut m'aider à corriger une erreur que me signale le viuel c++ conçernant le const de copie. Matric problème de allocation de tableau [ par boualiasma ] Bonsoir, Je voulais copier le contenu de fichier "exemple.txt" dans un tableau dynamique t de taille inconnue en avance. J'utilise le tableau pour fa c++ : problème de tableau dynamique dans une classe [ par rollingsteen ] Hello, je dois développer une application permettant de travailler sur de très gros nombres (200 digits) -> les digits sont stockés dans un tableau. Exercice sur Pointeurs, classes, héritage... [ par snoozriton ] Bonjour à tous, étant en train d'étudier le C++, j'ai quelques soucis avec un exercice. C'est un classique dont je vous donne l'énoncé : [b]1. Défini aide pour ajouter 2 nombre au tableau [ par Rido159 ] [size=100][b]Bonjour je suis débutant en C, j ai besoin de votre aide svp [^^mad5] j ai déclarer un tableau , j ai fais l'initialisation mais je suis probleme d'initialisation d'un tableau sous code blocks [ par juju116 ] bonjour j'ai voulu juste tester un code bidon pour voir si mon initialisation de tableau fonctionné et j'ai obtenu des résults incoherents je n'ai que


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales