我写了一个函数,它将richTextbox中的行添加到数组中,然后将它们添加到图表中。
double y[] = { 0 };
double x[] = { 0 };
String^ name = "Pobrana moc";
chart1->Series->Clear();
chart1->Series->Add(name);
for (int i=0; i < richTextBox1->Lines->Length; i++){
y[i] = Convert::ToDouble(richTextBox1->Lines[i]);
x[i] = i+1;
chart1->Series[name]->Points->AddXY( x[i] , y[i] );
}
我编译程序没有检测到任何问题。当我运行它并调用此函数时,程序将关闭此消息: 程序'[6356] GUI.exe:Managed(v4.0.30319)'已退出,代码为-1073740791(0xc0000409)。
如果我用一个数字替换所有“i”,它的效果非常好:
y[0] = Convert::ToDouble(richTextBox1->Lines[0]);
x[0] = 1;
chart1->Series[name]->Points->AddXY( x[0] , y[0] );
我做错了什么,或者还有其他方法让它有用吗?我需要它在图表中添加尽可能多的点,因为richTextbox中有行。
答案 0 :(得分:1)
您正在写x
和y
的结尾,这是未定义的行为。您需要确保它们足以容纳richTextBox1->Lines->Length
元素。