List <t>在C ++ / CLI中查找方法</t>

时间:2014-04-04 13:55:41

标签: .net list visual-c++ find c++-cli

为什么它在C ++ / CLI中不起作用?

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

我收到了错误error C2065: 'x' : undeclared identifier

2 个答案:

答案 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