将指针数组从C++;到C# 我是C++程序员,我被困在一个迁移项目中,我需要在C++代码下面转换成C语言。同样需要帮助 unsigned short** varData = new unsigned short*[ndata]; //Say ndata is 10 for(int i=0; i<ndata; i++) varData[i] = new ushort[nwp]; unsigned short**varData=新的unsigned short*[nda]//假设娜达10岁 对于(int i=0;i

将指针数组从C++;到C# 我是C++程序员,我被困在一个迁移项目中,我需要在C++代码下面转换成C语言。同样需要帮助 unsigned short** varData = new unsigned short*[ndata]; //Say ndata is 10 for(int i=0; i<ndata; i++) varData[i] = new ushort[nwp]; unsigned short**varData=新的unsigned short*[nda]//假设娜达10岁 对于(int i=0;i,c#,c++,migration,C#,C++,Migration,),这给了您一个二维数组的16位无符号整数,这可能是您试图用指针指向C++的方式来表达的。 int nData = 10; int nwp = 3; var varData = new UInt16[ nData, nwp ]; //varData is of type UInt16[,] 如果我理解正确,您可以使用unsigned short**来存储ushort的二维数组。在C#中,您可以将其声明为 ushort[,] array = new ushort[m, n];

),这给了您一个二维数组的16位无符号整数,这可能是您试图用指针指向C++的方式来表达的。
  int nData = 10;
  int nwp = 3;

  var varData = new UInt16[ nData, nwp ]; //varData is of type UInt16[,]

如果我理解正确,您可以使用unsigned short**来存储ushort的二维数组。在C#中,您可以将其声明为

ushort[,] array = new ushort[m, n];

m和n是维度。

使用锯齿数组,而不是2D数组;如果需要与C++相同的结果。请参阅更多信息。

为什么他应该使用锯齿数组?只链接链接不鼓励,请至少包括信息的简短总结(如果链接死了)@ ScottChamberlain,因为C++源代码使用的是锯齿形数组,而不是2D数组。在你的答案中解释它不是很好,而不是“只为你的话”(我不同意你的观点,事实上我认为你提出了一个很好的观点。我只是想帮助你学会在你的体验开始时做出更好的答案)。@ScottChamberlain更新。谢谢你的高级。事实上,我想解释的比我回答的更多。但是,我仍然在学习英语。