c#mashal const std::list<;对象>;来自c++;动态链接库 我必须在C++中使用C++ DLL,我必须在C++程序中导入这个函数,在C++ DLL中定义: void rtdGetSkillsetListResult(bool success, const std::list <skillset_info> skillsetList)

c#mashal const std::list<;对象>;来自c++;动态链接库 我必须在C++中使用C++ DLL,我必须在C++程序中导入这个函数,在C++ DLL中定义: void rtdGetSkillsetListResult(bool success, const std::list <skillset_info> skillsetList),c#,c++,marshalling,dllimport,C#,C++,Marshalling,Dllimport,非常感谢< P>托管C代码不能消耗非托管C++对象,如 STD::列表< /C>。因此,不能直接从C#使用非托管DLL 最简单的解决方案将是创建一个C++/CLI层,该层可以从未映射调整为托管 另一种选择是调整未损坏的代码,以便可以使用p/invoke调用它,但我认为这将比C++/CLI更费劲 非常感谢大卫!我将创建一个C++/CLI层。 const std::list <skillset_info> struct skillset_info { std::string co

非常感谢

< P>托管C代码不能消耗非托管C++对象,如<代码> STD::列表< /C>。因此,不能直接从C#使用非托管DLL

最简单的解决方案将是创建一个C++/CLI层,该层可以从未映射调整为托管


另一种选择是调整未损坏的代码,以便可以使用p/invoke调用它,但我认为这将比C++/CLI更费劲

非常感谢大卫!我将创建一个C++/CLI层。
const std::list <skillset_info>
struct skillset_info
{
   std::string code;
   bool standby; 
};