我使用C++ CLR来封装一个本地C++ DLL。这样,C++ CLR DLL就可以被C语言项目访问。
问题是,当我想将字节[]返回到c,并在clr中编写这样的代码时:

static System::Byte[]^ GetTestByteBuffer()
{
    System::Byte[]^ byte = gcnew System::Byte[128];
    return byte;
}

但它不能通过编译。有人能帮我吗?
编译错误:
error C3409: empty attribute block is not allowed
error C3409: empty attribute block is not allowed error C2146: syntax error "^":
error C2334: unexpected token(s) preceding '{'; skipping apparent function

最佳答案

这就是C++中声明字节数组的方法:

array<System::Byte>^

谷歌是你的朋友…

关于c# - 如何在C++ CLR中将byte []返回到C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7707705/

10-17 00:11