Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SWIG将std::array转换为C#array 我试图用STD::数组包装一个C++类。在C#中,我希望将这个std::数组用作普通数组。C++类可以是这样的: #pragma once #include <array> struct Data { int member1, member2; }; class TestClass { public: std::array<Data, 2> GetExampleArray() { Data item1; Data item2; item1.member1 = 0; // Initialize with some boring data item1.member2 = 1; item2.member1 = 3; item2.member2 = 4; return { item1, item2 }; } };_C#_C++_Swig_Stdarray - Fatal编程技术网

使用SWIG将std::array转换为C#array 我试图用STD::数组包装一个C++类。在C#中,我希望将这个std::数组用作普通数组。C++类可以是这样的: #pragma once #include <array> struct Data { int member1, member2; }; class TestClass { public: std::array<Data, 2> GetExampleArray() { Data item1; Data item2; item1.member1 = 0; // Initialize with some boring data item1.member2 = 1; item2.member1 = 3; item2.member2 = 4; return { item1, item2 }; } };

使用SWIG将std::array转换为C#array 我试图用STD::数组包装一个C++类。在C#中,我希望将这个std::数组用作普通数组。C++类可以是这样的: #pragma once #include <array> struct Data { int member1, member2; }; class TestClass { public: std::array<Data, 2> GetExampleArray() { Data item1; Data item2; item1.member1 = 0; // Initialize with some boring data item1.member2 = 1; item2.member1 = 3; item2.member2 = 4; return { item1, item2 }; } };,c#,c++,swig,stdarray,C#,C++,Swig,Stdarray,我的第一个想法是“让我们用typemaps传递一个指向C的指针!”直到我意识到这不是C样式的数组,即使是,我也无法传递长度。 所以我的问题是:我可以采取哪些步骤将其数据放入C#数组??看起来我的SWIG版本太旧了一些。该文件在那里不存在。。。现在它起作用了。谢谢我投票结束这个问题,因为它已经通过更新SWIG版本解决了。 class Program { static void Main(string[] args) { TestClass testClass = n

我的第一个想法是“让我们用typemaps传递一个指向C的指针!”直到我意识到这不是C样式的数组,即使是,我也无法传递长度。

所以我的问题是:我可以采取哪些步骤将其数据放入C#数组?

?看起来我的SWIG版本太旧了一些。该文件在那里不存在。。。现在它起作用了。谢谢我投票结束这个问题,因为它已经通过更新SWIG版本解决了。
class Program
{
    static void Main(string[] args)
    {
        TestClass testClass = new TestClass();
        Data myData = testClass.GetExampleArray()[0];
        Console.WriteLine(myData.member1);
    }
}