Bonjour à tous,

Depuis une heure j'essaye de créer un delegate anonyme (en VC++ CLR) pour exécuter la fonction FindIndex de ma List.

J'ai donc fait ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
List<String^>^ lst = gcnew List<String^>();
lst->Add("Coucou");
lst->FindIndex(delegate(String str){return str == "Coucou";});
J'obtiens plusieurs messages d'erreur comme :
  • C2275: 'System::String'*: utilisation non conforme de ce type comme expression
  • erreur de syntaxe*: absence de ')' avant l'identificateur 'str'
  • ''delegate'*: identificateur introuvable
  • etc


Alors qu'en C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
var lst = new List<string>();
lst.Add("coucou");
lst.FindIndex(delegate(String str) { return str == "coucou"; })
No soucy, ça compile ...

Quelqu'un à une idée ?!

Merci.