从c中类型'float'指定类型'float [4]'时不兼容的类型

时间:2013-05-08 22:22:52

标签: c types incompatibletypeerror

我正在尝试将浮点数组中的值复制到4x4浮点矩阵,但是当从类型'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中为高级指针添加文档链接吗? 我总是让调试器出现闪存错误,然后我甚至在没有理解问题的情况下纠正它们。

谢谢!

0 个答案:

没有答案