1

float の配列から 4x4 float マトリックスに値をコピーしようとしていますが、「型 'float' から型 'float[4]' に代入するときに互換性のない型です」という厄介なエラーが発生し続けます。助けてください...

これはtypedefです:

typedef float mat[4][4];

関数は次のようになります。

void function_Read(mat *matrixPointer, float *arrayOfFloats) {

    int indexOfArray;
    int rowIndexOfMatrix = 0;
    int columnIndexOfMatrix = 0;
    int sizeOfArrayOfFloats = sizeof (arrayOfFloats) / sizeof (arrayOfFloats[0]);

    for (indexOfArray = 0; indexOfArray < sizeOfArrayOfFloats; indexOfArray++) {
        /* the line below causes the error */
        matrixPointer[columnIndexOfMatrix][rowIndexOfMatrix] = arrayOfFloats[indexOfArray];

        columnIndexOfMatrix++;

        if (columnIndexOfMatrix == 4) {
            columnIndexOfMatrix = 0;
            rowIndexOfMatrix++;
        }
        if (rowIndexOfMatrix == 4) {
            rowIndexOfMatrix = 0;
        }
    }
}

さらに、誰かが c の高度なポインタに関するドキュメントへのリンクを追加できますか? 私は常にデバッガーにエラーをフラッシュさせており、問題を理解していなくてもエラーを修正することがあります。

ありがとう !

4

0 に答える 0