push_back(new maClasse) dans un vector de vector - C++ - Programmation
Marsh Posté le 10-01-2010 à 09:35:23
non. On est pas en java.
Ton vector de pion il contient des pions, pas des pion*.
Le message est plus qu'explicite sur ce point.
ref: http://www.cplusplus.com/reference [...] push_back/
Autre chose, vector <vector<Pion>> tableau; n'est pas un vrai tableau 2D.
Il faut donc l'initialiser en 2 fois.
Donc:
Code :
|
Cependant, la tu fais trop de copie inutile.
Mieux:
Code :
|
Ensuite vector n'est pas optimal pour les tableaux 2D.
Mieux vaut utiliser boost::multi_array ou un tableau NRC 2D façon Knuth.
Marsh Posté le 09-01-2010 à 23:39:34
Hello
J'ai un soucis quand je veux remplir mon vector de vector avec des instances d'une classe.
Voici la déclaration:
(Pion est une classe)
Et dans cette boucle je cherche à rajouter des instances de Pion dans tableau:
Le compilateur (Visual Studio 2008) me jette avec cette erreur:
[i]
\test.cpp(15) : error C2440: 'initialisation' : impossible de convertir de 'Pion *' en 'Pion'
1> Aucun constructeur n'a pu prendre le type de source, ou la résolution de la surcharge du constructeur était ambiguë
Après plusieurs recherches je ne comprends toujours pas, la syntaxe push_back(new maClass) devrait marcher
Message édité par sue soeur debeat le 09-01-2010 à 23:39:58