【发布时间】:2012-03-21 16:06:47
【问题描述】:
这是编译时的确切错误消息:
error C3352: 'double MyNamespace::MyRefClass::MyFunction(const std::vector<_ty> &,std::vector<_ty> &,void *)' : 指定的函数不匹配委托类型'double (const std::vector<_ty> &,std::vector<_ty> &,void *)'
MyFunction是引用类MyRefClass中的私有函数
当我尝试创建私有委托MyDelegate 的实例时出现引用错误,该实例在同一引用类中声明,代码如下:
MyDelegate^ del = gcnew MyDelegate(&MyRefClass::MyFunction);
据我所知,函数 MyFunctionWrapper 的签名与委托匹配,所以我不确定是什么导致了错误。
为了完整起见,(私有)函数签名是:
double MyFunction(const std::vector<double> &x, std::vector<double> &grad, void *data)
并且(私有)委托声明是:
delegate double MyDelegate(const std::vector<double> &x, std::vector<double> &grad, void *data);
【问题讨论】:
标签: c++-cli