0

予想される配列と、関数を呼び出すことによって生成される配列を比較する必要があります。これは簡単な質問であることは知っていますが、私は Qt を初めて使用するので、誰かがこれを手伝ってくれますか? 私のコードは

void TesterClass::testevolve()
{
    float T[100][100],A[100][100];
    A[0][0]=0;
    A[0][1]=75;
    A[0][2]=75;
    A[0][3]=75;
    A[0][4]=0;
    A[1][0]=0;
    A[1][1]=42.857;
    A[1][2]=63.169;
    A[1][4]=30;
    A[2][0]=0;
    A[2][1]=33.258;
    A[2][3]=76.116;
    A[2][4]=30;
    A[3][0]=0;
    A[3][1]=33.928;
    A[3][2]=52.455;
    A[3][3]=69.642;
    A[3][4]=30;
    A[4][0]=0;
    A[4][1]=50;
    A[4][2]=50;
    A[4][4]=0;

    ClassInitiate ci;
    ClassOutput co;
    int i,j;
    float c[100][100]=ci.initializeArray(T[100][100]);
    co.output(c[100][100]);
    for(i=0;i<=4;i++)
    {
        for(j=0;j<4;j++)
        {
            QVERIFY2(A[i][j]==c[i][j], "evolving array failed");
        }
    }
}

このテストケースに問題があることはわかっています。正しい書き方を誰か教えてください。

4

2 に答える 2

0

==生のメモリ C 配列では、これを簡単に行うことはできません。演算子を実装するある種のクラスでそれらをラップする必要があります。

それができないなら、今持っているものはおそらくあなたが得ようとしている最高のものです.

于 2012-04-22T15:15:49.750 に答える
0

QCOMPARE は、配列要素の値ではなく、ポインターの値を比較するだけです。

FAIL!  : SC_tests::testSeemCarving() Compared pointers are not the same
Actual (array): 0x93c6168
Expected (array1): 0x92d9a50
于 2012-04-22T15:12:29.743 に答える