首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VC >

一个关于“不能将参数 1 从“char [80]”转换为“System:Object ^”的有关问题

2012-09-05 
一个关于“不能将参数 1 从“char [80]”转换为“System::Object ^”的问题我在测试listbox控件时遇到了这样一

一个关于“不能将参数 1 从“char [80]”转换为“System::Object ^”的问题
我在测试listbox控件时遇到了这样一个问题,希望各位能帮我解答一下:我在做CLR项目的windows窗体应用程序时,做了一个关于listbox控件的测试,在form1里面放了一个listbox控件和一个按钮,想通过单击按钮使某个txt文件里面的内容原样显示在listbox控件上,我在编辑按钮的单击事件时出现了一个错误: 

error C2664: “System::Windows::Forms::ListBox::ObjectCollection::Add”: 不能将参数 1 从“char [80]”转换为“System::Object ^

请问 应该怎么解决?

下面是按钮单击事件的代码:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
  {
  listBox1->Items->Clear();
  char s[80];
  ifstream file("d:\\justfortest.txt",ios::in);
  file.getline(s,80);
  while(!file.eof())
  {
  listBox1->Items->Add(s);
  }
  file.close();
  }

[解决办法]
都用CLR了不用CLR的方法来读文件吗……

char[80]不是CLR类型,不从System.Object^派生,故不能转化为Object
可以用&s[0]作为参数,gcnew个System.String^出来,然后再添加进listBox

热点排行