如何在C ++中声明IVector <double> ^ Points数组?</double>

时间:2013-09-04 14:14:19

标签: c# c++-cli windows-store-apps direct2d

我的Direct2D应用程序中的一个小帮助。我的C ++应用程序中有IVector<double>^ points个集合。我将从我的C#代码中设置这个积分集合。所以我可以将IList<double>从我的C#设置为IVector<double>^点,以获得双倍的列表。

这是我的要求,我必须将double[]的集合设置为C ++代码。在C#中,我们可以使用以下语法List<double[]>简单地声明集合。但由于我是C ++的新手,我对Windows应用商店应用中C ++库中的可用API并不熟悉。有人可以帮我解决这个问题。所以最终我的要求很简单,就是“我应该能够从我的C#代码中将List<double[]>设置为我的C ++库”。

任何帮助都非常感激。

-David C

1 个答案:

答案 0 :(得分:2)

我不是100%确定您的问题是什么,因为您根本没有显示任何代码,但我认为您可能只是在绊倒数组语法。

在C ++ / CLI中,您可以使用方括号(double[])声明一个数组,但这是有效的,但它是一个非托管数组。您不能将其作为托管类中的字段,并将其传递给托管API并不容易。

托管数组的语法是array<double>。这是一种引用类型,因此当您拥有此类型的变量时,您将需要^

array<double>^ buffer = gcnew array<double>(1024);

因此,C#中的List<double[]>在C ++ / CLI中变为List<array<double>^>