Error C2440: 'static_cast' : impossible de convertir de 'CreerLevel::Mur ^const

clavat Messages postés 7 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 janvier 2011 - 30 déc. 2010 à 17:27
clavat Messages postés 7 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 janvier 2011 - 3 janv. 2011 à 14:31
Bonjour, j'ai un problème de type !
J'ai d'un coté une classe Mur et de l'autre un vector de Mur.
j'aimerais faire un for each a l'intérieur mais une erreur ce fait à la compilation.

vector<Mur^> vMurs;
....
for each (Mur mur in vMurs){ //Erreur ici !
....
 


Erreur 3 error C2440: 'static_cast'*: impossible de convertir de 'CreerLevel::Mur ^const ' en 'CreerLevel::Mur'


Merci de votre aide.

3 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
30 déc. 2010 à 18:56
Aucune idée de comment fonctionne du C++ interprété, mais en C++ classique (au cas où ce serait compatible):

std::vector<Mur^> vMurs;
typedef std::vector<Mur^>::iterator iter;
for (iter it = vMurs.begin(); it != vMurs.end(); ++it)
{
 (*it) // Ton élément "mur"
  ...
}


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
clavat Messages postés 7 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 janvier 2011
3 janv. 2011 à 13:38
Merci beaucoup mais j'ai toujours un problème quand je compile il me donne deux erreurs dans le fichier xmemory ligne 52 oO.


Erreur 1 error C3698: 'CreerLevel::Mur ^' : impossible d'utiliser ce type comme argument de 'nouveau'
Erreur 2 error C3828: 'CreerLevel::Mur' : arguments de positionnement non autorisés lors de la création d'instances de classes managées

Une idée sur le problème ? je pense que c'est sur la manière d'initialiser mon vector
0
clavat Messages postés 7 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 3 janvier 2011
3 janv. 2011 à 14:31
J'ai découvert d'où venai l'erreur pas de ton code mais de cette ligne :

vMurs.push_back(gcnew Mur(i,j));


Mur(int x, int y) est un constructeur de la classe
0
Rejoignez-nous