Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C+中使用回调函数C#delegate dll+;_C#_C++ - Fatal编程技术网

在C+中使用回调函数C#delegate dll+;

在C+中使用回调函数C#delegate dll+;,c#,c++,C#,C++,在C中使用回调函数C#委托dll++ 但是我有一个错误我怎么能修复它呢 这是我的c代码 public delegate void Callback\u Calc(int nResult); [Guid(“180726E3-7185-4224-BF27-3A7A60E5D1A7”)] 公共接口 { 整数相加(整数a、整数b); void Add_回调(inta、intb、IntPtr回调_结果); } [Guid(“9FF07EDD-8DEE-4CCA-9BDF-2C753F771AC”)] 公

在C中使用回调函数C#委托dll++

但是我有一个错误我怎么能修复它呢

这是我的c代码

public delegate void Callback\u Calc(int nResult);
[Guid(“180726E3-7185-4224-BF27-3A7A60E5D1A7”)]
公共接口
{
整数相加(整数a、整数b);
void Add_回调(inta、intb、IntPtr回调_结果);
}
[Guid(“9FF07EDD-8DEE-4CCA-9BDF-2C753F771AC”)]
公共类计算:ICal
{
公共整数相加(整数a、整数b)
{
返回(a+b);
}
公共无效添加回调(int a、int b、IntPtr回调结果)
{
整数和=a+b;
Callback_Calc func=(Callback_Calc)Marshal.GetDelegateForFunctionPointer(Callback_Result,typeof(Callback_Calc));
func(sum);
}
} 

您的
Add\u回调
函数需要指向该函数的指针。因此,在这一行中:

m_Calc->Add_Callback(10,10,(_Callback_Calc *)callback_func);
您需要将第三个参数更改为指向
callback\u func
的指针