【发布时间】:2012-03-29 23:07:06
【问题描述】:
我一直在尝试找到一种方法,将原生 C++ 代码中的 std::vector 传递到 C++/CLI 托管类中的静态方法中。我是 C++ 新手(非托管),所以我没有运气也就不足为奇了。我想要的是一些关于如何将 std:vector(任何类型,但最好是 double 或 int)转换为托管 C++/CLI 数组和/或 C# 数组的指针。也许这无法做到,因为我只看到了相反的示例(即 C# 到本机 C++),例如参见“convert System::array to std::vector”。下面我总结了我失败的尝试。
我可以传递一个双向量例如
vector<vector<double> > dblvec
在本地 C++ 类中定义的方法(该类在 C++/CLI 项目中),但不在 ref 类中定义的方法中(也在 C++/CLI 项目中)。编译器抱怨该方法(在 ref 类中)不存在(候选函数不可访问)。我认为这与 vector > 被强制成为私有变量有关(例如参见C++ CLI error C3767: candidate function(s) not accessible)。
任何帮助将不胜感激。
【问题讨论】:
标签: c++-cli unmanaged managed word-wrap