c -cli – 使用Predicate with Array :: FindAll()编译C/C++LI委
发布时间:2020-12-16 03:18:34 所属栏目:百科 来源:网络整理
导读:以下代码导致C3867(…函数调用缺少参数列表…)和C3350(…委托构造函数需要2个参数…).我究竟做错了什么? public ref class Form1 : public System::Windows::Forms::Form { public: bool IsEven(int i){ return (i % 2) == 0; } Form1(void) { numbers = gc
以下代码导致C3867(…函数调用缺少参数列表…)和C3350(…委托构造函数需要2个参数…).我究竟做错了什么?
public ref class Form1 : public System::Windows::Forms::Form { public: bool IsEven(int i){ return (i % 2) == 0; } Form1(void) { numbers = gcnew array<int>{ 1,2,3,4,5,6,7,8,9,10 }; array<int> ^even = Array::FindAll( numbers,gcnew Predicate<int>(IsEven)); } }; 解决方法
在C/C++LI中,您必须传递包含该函数的类型的实际实例:
array<int> ^even = Array::FindAll( numbers,gcnew Predicate<int>(this,&Test::IsEven)); (或使您的IsEven方法静态) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |