0

私は次のコードを試しています:

void OnInit()
{
    int i = 0;
    string d[];
    while(i < 2)
    {
        ArraySetAsSeries(d,true);
        for (int j=0; j<5; j++)
        {
            if(MathMod(j,2)==0 && i==0)
                d[j] = "even";
            else if(MathMod(j,2)==0 )
                d[j] = "even without i zero";
            else
                d[j] = "odd";
        }
        i++;
    }
}

私はテストで出力を得たいと思っています。しかし、次のエラーが表示されます:
2018.03.23 14:51:20.005 EURUSD,M1 (MetaQuotes-Demo): 実数に基づく生成

ticks
2018.03.23 14:51:20.006 EURUSD,M1: testing of Experts\testing lines and trdae.ex5 from 2018.02.01 00:00 to 2018.02.20 00:00 started
2018.03.23 14:51:20.050 2018.02.01 00:00:00   array out of range in 'testing lines and trdae.mq5' (61,2)
2018.03.23 14:51:20.051 OnInit critical error

親切に、これを取り除き、印刷したいので配列を印刷するのを手伝ってください。

4

1 に答える 1

0

配列にデータを挿入する前に、配列のサイズを明示的に指定する必要があります。

使用するArrayResize(d,5);と動作します。

于 2018-03-23T14:44:01.843 に答える