不允许C++句柄数组



我在翻译从 C# 应用程序收到的 String^ 数组时遇到问题。为什么我不能创建字符串^数组? 我对C++相当陌生,所以任何帮助都值得赞赏。

public ref class Example
{
public:
String^ Convert(String^ pointNames[], String^ outputPath)
{
std::string convertedPath = msclr::interop::marshal_as< std::string >(outputPath);
std::string result = otherFunction(pointNames, convertedPath);
return  msclr::interop::marshal_as< String^ >(result);
}
};

pointsNames[] 带有下划线作为错误,并显示消息:不允许使用句柄数组。

将字符串数组从 C# 应用程序发送到C++的更好方法是什么?

您尝试在那里声明一个非托管数组类型,但您需要一个托管数组来保存托管类型。

将参数声明为array<String^>^ pointNames

注意:这不是std::array,它是cli::array的,但是当用/clr编译时,暗示using namespace cli;

相关内容

  • 没有找到相关文章

最新更新