我想在Visual C ++ / CLI环境中将std :: int转换为System :: String ^。我知道我们可以使用Microsoft提供的包含模板函数marshal_as
的库#include <msclr\marshal.h>
using namespace msclr::interop;
int count = 1;
String^ Apple;
Apple = marshal_as<String^>(count);
我收到此错误时无法运行此声明
'msclr::interop::error_reporting_helper<_To_Type,_From_Type,false>::marshal_as':
This conversion is not supported by the library or the header file needed for
this conversion is not included.
答案 0 :(得分:1)
int count = 100;
System::String^ s = count.ToString();
答案 1 :(得分:0)
marshal_as
用于在本机类型及其托管等效项之间进行转换。它不是一般的“将任何东西转换为任何东西”工具。要将整数转换为.NET String
,您可以使用std::to_string
转换为C ++字符串,然后使用marshal_as
转换为String
,或者使用Int.ToString
如果你想进行.NET方面的转换。