无法从'cli :: array <type> ^'转换为'cli :: array <type> ^ []'</type> </type>

时间:2012-09-06 21:36:34

标签: visual-studio-2005 c++-cli

我是C ++ / CLI的新手,我正在尝试将System :: String转换为System :: Char数组。

这是我到目前为止所拥有的:

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> ^[]'

代码段的第四行。

2 个答案:

答案 0 :(得分:1)

ToCharArray已经为您提供了数组,您无需创建新数组。另外,正如另一个回答者所指出的,您不需要指定[]来创建数组变量,array<>就足够了。

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

答案 1 :(得分:0)

您正在尝试将对数组(array<Char> ^)的引用分配给数组引用的C样式数组(array<Char> ^ [])。

您最有可能改为使用此行:

array <Char>^ load = gcnew array<Char>(txtbxName->Text->ToCharArray());
相关问题