using namespace System::Runtime::InteropServices;
void foo([Out] Bar^% x);
Ответ 2
В С++/CLI такого синтаксиса нет. Я думаю, вы можете приблизиться, добавив OutAttribute, чтобы изменить параметр. Но я не уверен, что достигает той же семантики, что и С# out.
Понятие out по большей части ограничено С#. CLR действительно видит только параметры ref. Концепции out достигаются с помощью mod opt, я верю, и большинство языков игнорируют его.