我需要将下面的C#代码转换为C++代码。
但是这让我遇到了以下错误:
错误 2 error C2664: 'cli::array ^System::Text::Encoding::GetBytes(cli::array ^)' : 无法将参数 1 从 'std::string' 转换为 'cli::array
为什么会出现这种情况,明明和文档一模一样呢?(除了我使用的是普通字符串,但是使用顶级字符串^又会出错。)
我不确定这是否有关,但我的代码是托管的。
注意:在我解决这个问题之前,我尝试不考虑返回任何数据。
public static byte[] StrToByteArray(string str)
{
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetBytes(str);
}
我在这个网站上找到了UTF8Encoding的C++代码,从中创建了以下代码。
void StrToByteArray(string unicodeString)
{
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
}
但是这让我遇到了以下错误:
错误 2 error C2664: 'cli::array ^System::Text::Encoding::GetBytes(cli::array ^)' : 无法将参数 1 从 'std::string' 转换为 'cli::array
为什么会出现这种情况,明明和文档一模一样呢?(除了我使用的是普通字符串,但是使用顶级字符串^又会出错。)
我不确定这是否有关,但我的代码是托管的。
注意:在我解决这个问题之前,我尝试不考虑返回任何数据。