Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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
我怎样才能通过C++;将列表和向量作为C#COM可视方法的参数? 我创建了一个COM可见的C++类(连同它的接口),并且我需要它来处理来自C++的一些数据,其中有类型变量: std::vector<int> intV; std::vector intV;_C#_C++ - Fatal编程技术网

我怎样才能通过C++;将列表和向量作为C#COM可视方法的参数? 我创建了一个COM可见的C++类(连同它的接口),并且我需要它来处理来自C++的一些数据,其中有类型变量: std::vector<int> intV; std::vector intV;

我怎样才能通过C++;将列表和向量作为C#COM可视方法的参数? 我创建了一个COM可见的C++类(连同它的接口),并且我需要它来处理来自C++的一些数据,其中有类型变量: std::vector<int> intV; std::vector intV;,c#,c++,C#,C++,及 std::list pointV; 我需要将它们作为参数传递给C#类,但我不知道C#端的方法签名应该是什么。您不能。但是,你可以传递一个指向数据的指针。C++集合类的互操作能力与石头砖块相比有不利的一面。它们甚至不能与另一个C++编译器互操作。或者使用不同构建选项的同一编译器。想想C或者指针,或者一次只交换一个简单类型的聊天界面。@EdS.是的,但是指向std::list的指针将是无用的。一种奇怪的方法是制作一个C++-CLI迭代器wrapper@MadScienceDreams:我从来没

std::list pointV;

我需要将它们作为参数传递给C#类,但我不知道C#端的方法签名应该是什么。

您不能。但是,你可以传递一个指向数据的指针。C++集合类的互操作能力与石头砖块相比有不利的一面。它们甚至不能与另一个C++编译器互操作。或者使用不同构建选项的同一编译器。想想C或者指针,或者一次只交换一个简单类型的聊天界面。@EdS.是的,但是指向
std::list
的指针将是无用的。一种奇怪的方法是制作一个C++-CLI迭代器wrapper@MadScienceDreams:我从来没有说过指向STL类型的指针。您将传递一个指向数据的指针,即
向量的
get()
&v[0]
<代码>列表
是一个完全不同的beast。C++没有标准的ABI,必须绕过简单的(POD)类型(或COM类型)。我的意思是<代码>数据()/代码>,而不是<代码> GET()/<代码>
std::list<std::vector<std::list<double>>> pointV;