我正在尝试用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;
我做错了什么?
答案 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 ++中也是一种糟糕的转换方式。