2012-09-06 101 views
0

我對C++/CLI非常陌生,我試圖將System :: String轉換爲System ::字符數組。無法從'cli :: array <Type> ^'轉換爲'cli :: array <Type>^[]'

這是我到目前爲止有:

private: System::Void modeToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { 
      Mode frmMode; 
      if(frmMode.ShowDialog() == System::Windows::Forms::DialogResult::OK){ 
       array <Char>^ load [] = gcnew array<Char>(txtbxName->Text->ToCharArray()); 
      } 
     } 

txtbxName是一個形式裏面一個文本框。據推測,這應該工作,但是我得到的編譯器錯誤:

error C2440: cannot convert from 'cli::array<Type> ^' to 'cli::array<Type> ^[]' 

的片斷的第四行。

回答

1

ToCharArray已經給你的陣列,你並不需要創建一個新的。另外,正如其他回答者所指出的那樣,您不需要指定[]來創建數組變量,array<>就足夠了。

array<Char>^ load = txtbxName->Text->ToCharArray(); 
0

您正在嘗試將對數組(array<Char> ^)的引用分配給對數組的引用的C型陣列(array<Char>^[])。

你最有可能意此行:

array <Char>^ load = gcnew array<Char>(txtbxName->Text->ToCharArray()); 
+0

這仍然不起作用。現在我越來越: 無法從「CLI ::陣列 ^」轉換爲「廉政」 與 [ 類型= wchar_t的 ] 沒有上下文中,這種轉換是可能 – user1576628

+0

你唯一可以指定作爲數組的構造函數參數是數組長度,而不是另一個數組。 –

相關問題