我编写了一个函数,将 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 中的线条一样多的点。
最佳答案
您正在编写 x
和 y
的末尾,这是未定义的行为。您需要确保它们对于 richTextBox1->Lines->Length
元素足够大。
关于c++ - 向图表添加点的程序退出,代码为 0xc0000409,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651158/