C ++错误C2440

时间:2013-09-29 11:13:15

标签: random textbox numbers c++-cli ostringstream

我正在尝试用C ++创建一个随机数生成器,它将结果放在一个textBox中。

我收到错误'错误C2440:'初始化':无法转换为'std :: basic_string< _Elem,_Traits,_Ax>'到'System :: String ^

我的代码是:

int rnd = 1 + rand() % 100;
std::ostringstream convert;
convert << rnd;
String ^ num = convert.str();
textBox1->Text = num;

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您无法将std::string分配给System::String。第一个是ISO c ++,第二个是Microsoft C ++ / CLI。

根据建议here, 你可以做这样的事情

String^ num = gcnew System::String(convert.str().c_str());

答案 1 :(得分:-1)

.Net方式

textBox1-> Text = rnd.ToString ();

ostringstream即使在原生C ++中也是一种糟糕的转换方式。