Как использовать параметр массива в C # с помощью функции CLI? - PullRequest
2 голосов
/ 02 мая 2019

Я хочу использовать массив в C # с помощью функции CLI.

Источник CLI

public value struct Test
{
    int         nIndex;
    TArrTest    Arr;    // TArrTest : Array struct
}

void Api::Set_Test(array<Test^>^% _Test2)

Источник C #

Test[] Test3 = new Test[5];
test3[0].nIndex = 0;
...
...
Api.Set_Test(ref Test3) // Error message

Сообщение об ошибке: параметр не преобразует ref Test [] в ref system.Value [].

Как я могу вызвать Set_Test в C #?

1 Ответ

1 голос
/ 02 мая 2019

Ваша декларация C ++ / CLI:

void Api::Set_Test(array<Test^>^% _Test2)

неверно. Массив не является массивом Test ссылок, поскольку Test является типом значения. Должно быть

void Api::Set_Test(array<Test>^% _Test2)
                             ^------ remove the reference caret inside the angle brackets
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...