Réponse acceptée !
Faire tout hériter d'une classe Objet est extrêmement inélégant ! (Je ne parle pas du fait d'hériter d'une classe mère abstraite, mais de la nommer "Objet").
Je te conseille plutôt d'avoir une classe "Cell" (ou "Case" en français) qui peut contenir un ou plusieurs élément. Si tu es sur de n'avoir qu'un et un seul élément, tu peux directement faire un tableau d'éléments.
Ton problème vient du fait que tu ne prends pas en compte le fait que: ** != [][] !
Tu ne peux pas faire un new [][] dans un **. Il te faut faire un new [] suivit d'un new [] dans chacun des éléments de ton tableau.
Si un std::vector de std::vector ne convient pas au niveau performance (ce qui est normal), tu peux te tourner vers du boost::multi_array.
Si tu ne souhaites pas avoir de dépendance sur boost, je te conseille de coder ta propre classe "StaticArray".
Tu lui donne un constructeur "StaticArray(int size)" qui construit un tableau à une dimension de taille fixe. Puis tu peux faire un std::vector<StaticArray*>.
Pour résumer, trois solutions:
1) Boost::multi_array
2) std::vector<StaticArray*>
3) Case **wMap, avec la bonne manière de l'initialiser.
________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question