Подтвердить что ты не робот

Как вернуть байт [] в С# в С++ CLR

Я использую С++ CLR для переноса родной С++ dll. Для того, чтобы DLL С++ CLR можно было получить с помощью проекта С#.

Проблема в том, что когда я хочу вернуть байт [] на С# и написать такой код в 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
4b9b3361

Ответ 1

Так вы объявляете массив байтов в С++/CLI:

array<System::Byte>^

Google - ваш друг...