Как я могу передать ссылочный параметр (&) (не указатель), используя p / invoke в C #? - PullRequest
2 голосов
/ 14 ноября 2008

У меня есть прототип C ++ API

void Func(int& size);

Как я могу перевести его на P / Invoke в C #?

Из того, что я знаю, если я использую

public static extern Func(ref int size); 

, функция получит указатель на int вместо значения.

1 Ответ

5 голосов
/ 14 ноября 2008

(Упс ... имел ввиду это как ответ, а не комментарий).

И когда вы вызываете его из C ++, функция также получит указатель. Как еще вы думаете, ссылки реализованы? Func () будет рассматривать этот указатель как ссылку, поэтому не важно, как он туда попадет.

...