Как вернуть байт [] в C# в C++ CLR
Я использую C++ CLR, чтобы обернуть родную C++ dll. Таким образом, Cll CLR dll может быть доступна из C# проекта.
Проблема в том, что когда я хочу вернуть byte[] в 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
1 ответ
Решение
Вот как вы объявляете байтовый массив в C++ / CLI:
array<System::Byte>^
Google твой друг...