2010-08-18 65 views

回答

39

可以使用OutAttribute:

using namespace System::Runtime::InteropServices;  
void foo([Out] Bar^% x); 
8

在C++/CLI中没有这种特定的语法。我认为你可以通过添加OutAttribute来修改参数。但我不确定它是否达到与C#out完全相同的语义。

out的概念大部分仅限于C#。 CLR实际上只看到ref参数。我相信out的概念是通过mod opt实现的,大多数语言都忽略它。

+1

是啊,同为VB.NET – 2010-08-18 17:35:50

+1

这是通通过引用语法用'应用到参数OutAttribute'像你说的。它创建与C#'out'参数完全相同的元数据。通过“不......完全相同的语义”是否指的是在C#中参数开始未初始化,并且必须在函数返回之前明确赋值? – 2010-08-19 02:37:38