0

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

我收到错误'error C2440:'initializing': cannot convert from 'std::basic_string<_Elem,_Traits,_Ax>' to 'System::String ^

我的代码是:

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

我究竟做错了什么?

4

2 回答 2

1

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

正如这里所建议的,你可以做这样的事情

String^ num = gcnew System::String(convert.str().c_str());
于 2013-09-29T11:17:56.807 回答
-1

.Net 方式是

textBox1-> Text = rnd.ToString ();

即使在本机 C++ 中,ostringstream 也是一种糟糕的转换方式。

于 2013-10-01T06:20:25.600 回答