向图表添加点的程序以代码0xc0000409退出

时间:2013-02-01 16:50:52

标签: c++ arrays visual-studio-2010 charts

我写了一个函数,它将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中有行。

1 个答案:

答案 0 :(得分:1)

您正在写xy的结尾,这是未定义的行为。您需要确保它们足以容纳richTextBox1->Lines->Length元素。