我在visual c ++中有一个像这样的函数:
DoSomething(IVector<unsigned char>^ inputBytes)
用于传递字节数组。在这个方法中,我需要访问一个接受字节数组参数(inputBytes)的C类方法。我在C类
中放置了这样的方法 void TestFunction(unsigned char* testdata[])
但它会抛出一个错误.c中字节数组的语法是什么。如何将这个bytearray从c ++传递给c。任何人都可以帮我找到解决方案。
答案 0 :(得分:0)
您在C函数中声明了指向char的指针数组。我不知道C ++ / CLI,所以根本不确定,但正确的是其中之一,我想:
void TestFunction(unsigned char* testdata)
或用于许多目的完全相同(仅有细微差别):
void TestFunction(unsigned char testdata[])
首先是指向char或某些字符的指针,例如C样式字符串。第二个是一些字符数组,在C中几乎与指向char的指针相同。
很可能你需要添加一个int参数,告诉字节数,因为C数组不知道它们自己的大小(它们基本上是美化的指针,如上所述),除非你可以通过其他方式知道大小(比如C字符串在前0字节结束。)