为什么它在C ++ / CLI中不起作用?
_list->Remove(_list->Find(x => x.Inode == 2));
我收到了错误error C2065: 'x' : undeclared identifier
答案 0 :(得分:1)
@Hans Passant的评论是答案,所以我只是在这里粘贴它:
C ++ / CLI不支持lambda表达式。该语言在2005年被冻结,从那以后没有添加新的铃声和口哨声。您需要明确使用委托。 C ++ 11得到了lambda,但它们与C ++ / CLI不兼容。 - 汉斯帕斯特
答案 1 :(得分:0)
如Hans Passant所述,C ++ / CLI不支持lambda表示法。如果需要使用Find方法,可以通过创建自己的委托并使用新的
实例调用它来完成。_list->Find(gcnew Predicate<T>(gcnew &MyDelegate(params)))
这是指向我使用的代码段的链接:Custom List::Find() Method in C++/CLI