Передача массива [out] в функцию C ++

У меня есть метод управляемого класса C ++ \ CLI, который принимает массив out. Я хочу передать этот массив в базовую функцию C ++, которая принимает вектор< символ>&, Эта функция C ++ заполняет массив значениями.

bool MyLib::GetBits([Out] array<unsigned char>^ %bits)
{
MyCppClass->GetBits(bits); // ????
// ERROR: C2664: cannot convert from 'cli::array<Type> ^' to 'std::vector<_Ty> &'
}

'GetBits' is declared as MyCppClass::GetBits(vector<char> &bits);

0

Решение

Есть ли у вас основания ожидать, что array<unsigned char>^ %bits может быть преобразован в vector<char> &bits?

Вы можете попробовать изменить MyCppClass, добавив член, который возвращает ссылку на статический вектор. В GetBits вы можете очистить его и перебирать биты, добавляя к нему символы. Вы также можете найти Маршалинг в C ++ полезно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]