Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# SWIG参考输入,自定义类输出 我试图用CISG在C++中用C++ LIB工作。 我有一个方法,它获取float和/或uint8\t引用输入,并使用自定义类对象返回。 无法在此右侧应用SWIG命令来克服_C#_C++_Reference_Swig - Fatal编程技术网

C# SWIG参考输入,自定义类输出 我试图用CISG在C++中用C++ LIB工作。 我有一个方法,它获取float和/或uint8\t引用输入,并使用自定义类对象返回。 无法在此右侧应用SWIG命令来克服

C# SWIG参考输入,自定义类输出 我试图用CISG在C++中用C++ LIB工作。 我有一个方法,它获取float和/或uint8\t引用输入,并使用自定义类对象返回。 无法在此右侧应用SWIG命令来克服,c#,c++,reference,swig,C#,C++,Reference,Swig,C++: .i: 仍然是SWIGTYPE_p_float和unsigned_char。 你知道怎么解决这个问题吗?或者如何在C中初始化SWIGTYPE#p#浮点?我想这也会有所帮助。找到了一个解决方案: 将以下内容添加到接口文件: %include cpointer.i %pointer_functions(float, floatp); 这已经创建了名为“new\u floatp”、“delete\u floatp”、“floatp\u assign”的方法 可以用在C#中,如下所

C++:

.i:

仍然是SWIGTYPE_p_float和unsigned_char。
你知道怎么解决这个问题吗?或者如何在C中初始化SWIGTYPE#p#浮点?我想这也会有所帮助。

找到了一个解决方案:

将以下内容添加到接口文件:

%include cpointer.i     
%pointer_functions(float, floatp);
这已经创建了名为“new\u floatp”、“delete\u floatp”、“floatp\u assign”的方法

可以用在C#中,如下所示:

SWIGTYPE_p_float f = WrapperCPP.new_floatp();
WrapperCPP.floatp_assign(f, 12);
Console.WriteLine("Value: " + WrapperCPP.floatp_value(f).ToString("0.0")); // Value: 12
WrapperCPP.delete_floatp(f);
这同样适用于uint8\u t

%pointer_functions(unsigned char, uintp);
希望也能帮助别人。干杯

SWIGTYPE_p_float f = WrapperCPP.new_floatp();
WrapperCPP.floatp_assign(f, 12);
Console.WriteLine("Value: " + WrapperCPP.floatp_value(f).ToString("0.0")); // Value: 12
WrapperCPP.delete_floatp(f);
%pointer_functions(unsigned char, uintp);