1

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)' has exited with code -1073740791(0xc0000409)。

すべての「i」を数字に置き換えると、完全に機能します。

            y[0] = Convert::ToDouble(richTextBox1->Lines[0]);
            x[0] = 1;
            chart1->Series[name]->Points->AddXY( x[0] , y[0] );

私は何を間違えましたか、それともそれを機能させる他の方法はありますか?richTextboxの線と同じ数のポイントをチャートに追加するために必要です。

4

1 に答える 1

1

xとの終わりを超えて書いていますがy、これは未定義の動作です。richTextBox1->Lines->Lengthそれらが要素に対して十分な大きさであることを確認する必要があります。

于 2013-02-01T16:52:14.773 に答える