Frage

Why it doesn't work in C++/CLI ?

_list->Remove(_list->Find(x => x.Inode == 2));

I received an error error C2065: 'x' : undeclared identifier

War es hilfreich?

Lösung

@Hans Passant's comment is the answer, so I'm just pasting it here:

C++/CLI doesn't support lambda expressions. The language was frozen in 2005, no new bells and whistles were added to it since then. You'll need to use a delegate explicitly. C++11 got lambdas but they are not compatible with C++/CLI. – Hans Passant

Andere Tipps

As Hans Passant commented, C++/CLI doesn't support lambda notation. If you need to use the Find method it can be done by creating your own delegate and invoking it with a new instance of

_list->Find(gcnew Predicate<T>(gcnew &MyDelegate(params)))

Here's a link to a snippet that I used: Custom List::Find() Method in C++/CLI

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top