2013-09-29 54 views
0

我想在C++中創建一個隨機數生成器,它將結果放在一個文本框中。C++錯誤C2440

我得到的錯誤 '錯誤C2440:初始化:不能從轉換 '的std :: basic_string的< _Elem,_Traits,_AX>' 到' 系統:字符串^

我的代碼是:

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

我在做什麼錯?

+0

您缺少語言標籤。 'String^num = ...'不是C++。 – juanchopanza

+0

你是什麼意思?對不起,我是C++新手(C#/ VB.NET) – Joe

+0

看起來像微軟管理的C++代碼 – billz

回答

1

您不能將std::string分配給System::String。第一個是ISO C++,第二個是Microsoft C++/CLI。

至於建議here, 你可以做這樣的事情

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

我得到了錯誤:「錯誤C2440:'初始化':不能從'const char *'轉換爲'System :: String ^'」。我該怎麼辦? – Joe

+0

對不起,我認爲會有一個隱式轉換。我的錯。 – mkaes

+0

謝謝,它的作品!!!!! – Joe

-1

在.NET方法是

textBox1-> Text = rnd.ToString(); 

ostringstream是做到這一點的轉換,即使在本地C一個糟糕的方式++。

相關問題