CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] Conteneur d'objets (vector)

WarriorOz
WarriorOz
Niveau 6
16 mai 2010 à 11:31:57

Salut à tous

Voilà mon probleme : je crée un plateau de jeu pour un projet, qui va être en réalité un tableau a 2 dimensions.

Je souhaiterais ensuite insérer dans une case un Mouton par exemple.

Plateau[3][2] = new Mouton; ne fonctionne pas.

Mon vector est un tableau 3D d'être vivants pourtant...

Merci

ExOOdius
ExOOdius
Niveau 10
16 mai 2010 à 11:50:56

On peut voir plus de code ?

dnob700
dnob700
Niveau 10
16 mai 2010 à 12:28:59

mouton hérite d'être vivant ? ton tableau doit être un tableau de pointeur pour que ça fonctionne avec la syntaxe que tu présente. On a besoin de plus de code pour pouvoir t'aider (au moins la déclaration du tableau et des détails sur la classe mouton) et, en règle général, un "[ça] ne fonctionne pas" n'est pas assez précis pour qu'on puisse t'aider.

Le compilateur te donne un message d'erreur précis. Si tu le lis, il est très probable que ça te donne suffisemment d'information pour corriger ton problème. Si malgré ça tu n'y arrive pas, donne nous aussi le message d'erreur.

Et avec ces informations tu as de bonnes chances d'avoir une réponse.

Aldebran
Aldebran
Niveau 10
16 mai 2010 à 18:40:34

D'après ta ligne de code, la déclaration de Plateau doit être (j'imagine) :

vector<vector<EtreVivants* > > Plateau;

Ensuite, il faut avoir alloué une taille minimale de 4 à Plateau, et une taille minimale de 3 à Plateau[3] (avec la méthode resize).

Par contre, tu dis que tu utilises des vector, mais si la taille de ton plateau ne se modifie pas en cours de jeu, tu ferais mieux d'utiliser un tableau à 2 dimensions du genre EtreVivants* Plateau[3][3].

R06
R06
Niveau 10
16 mai 2010 à 20:41:08
  • S'incruste entre les programmeurs.*

J'apprends le C++, ça me réserve des surprises de ce genre ? :peur: C'est plus compliqué que le C ? :peur:

chris_27
chris_27
Niveau 10
17 mai 2010 à 12:35:31

Non, c'est infiniment plus compliqué que le C.

Même dans les grandes entreprises, les gens n'utilisent qu'un sous-ensemble restreint du C++ (sinon ça serait le chaos :rire2: ).

tbop2
tbop2
Niveau 10
17 mai 2010 à 12:57:28

Ca te réserve les mêmes surprises que tous les autres langages. Des erreurs de compilations, des mauvaises compréhensions des API que tu utilises... etc.

IIIIIIIIIIIIIll
IIIIIIIIIIIIIll
Niveau 10
17 mai 2010 à 16:09:51

Et énormément de problèmes liés à la métaprog que tu aurais pas ailleurs. :hap:

R06
R06
Niveau 10
17 mai 2010 à 18:21:47

Euh... vous dites pas ça pour me faire abandonner ? :peur: :noel:

godrik
godrik
Niveau 30
17 mai 2010 à 19:09:42

non, parcequ'il faut etre realiste.

Mon opinion sur C++ est que c'est un langage vraiment complique mais vraiment utile.

J'aimerais bien qu'il soit un peu depoussiere des fois, mais je ne vois pas ca arriver rapidement. (En particulier, la structure standard de fichier en .hpp/.cpp devient particulierement evnervant quand on commence a faire des templates)

R06
R06
Niveau 10
17 mai 2010 à 19:22:57

Ok. :)

J'ai le temps devant moi pour apprendre alors. :)

tbop2
tbop2
Niveau 10
17 mai 2010 à 20:15:52

Pour moi, moins un langage n'a de concepts plus il est simple à apprendre. Le C++ en a un peu moins que le C#, le JAVA et l'objective-C (que je mange en ce moment et qui pour le coup LUI est une véritable catastrophe ambulante niveau complexité).

Après chacun ses facilités.

R06
R06
Niveau 10
17 mai 2010 à 20:48:49

C# :d) c'est compliqué aussi ? :p)

tbop2
tbop2
Niveau 10
17 mai 2010 à 21:53:24

A apprendre oui je trouve oui (surtout si on ne connait pas le C++). Quand on connait déjà le C++ ça va tout seul.

Mais je sais pas j'ai envie de te répondre "apprends et tais toi". Te pose pas de questions, commence par le C, fais en un petit mois, puis passe au C++ et tout devrait bien se passer normalement si tu as la fibre et la rage de vaincre ton compilateur.

dnob700
dnob700
Niveau 10
17 mai 2010 à 22:41:09

"Ca te réserve les mêmes surprises que tous les autres langages. Des erreurs de compilations, des mauvaises compréhensions des API que tu utilises... etc. "

Non, le C++ réserve en plus (par rapport à des langages à peu près modernes et bien pensé, comme Caml bien sûr, mais aussi comme C# par exemple) une sémantique très complexe qui demande bien plus de pratique (je veux dire, en permanence) pour être comprise. Un langage mieux pensé peut s'apprendre et ensuite il sera oublié moins vite que le C++ donc les recoins sont bien plus nombreux.

Bon, c'est ma vision de ce langage (et je la partage), mais on peut regarder les normes des différents langages pour s'en convaincre : le Caml est décrit par un site web de quelques dizaines de pages (peut-être une centaine si on l'imprime), le standard de C# est un livre d'un peu moins de 400 pages et celui du C++ est plutôt de l'ordre de 900 pages.

R06
R06
Niveau 10
17 mai 2010 à 23:03:18

Tbop2 :d) j'ai bien ne notions en C, et je m'attaque au C++, je voulais juste confirmer certains échos... :o))

Bon, merci à tous, je code et je me tais ( :hap: ) je verrai bien par la suite. :p)

BisonVodka
BisonVodka
Niveau 6
18 mai 2010 à 19:32:12

Bien que j'ai la même couille sur un projet de l'EFREI :hap:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment