1

我现在正在编写代码在 Xcode4.3 中进行矩阵计算。我可以构建并运行下面的代码,但我总是收到警告说,“不兼容的指针类型将 'float (*)[3][2]' 传递给 'float *' 类型的参数”有人能解释一下这是什么意思吗?我怎样才能避免警告?

    float num1[3][2] = { {1,5},{2,6},{3,7} };
    float num2[3][2] = { {2,2},{2,6},{3,3} }; 
    float resA[3][2];

    vDSP_vadd(&num1, 1, &num2, 1, &resA, 1, 6);

    for (int i = 0; i<3; i++) {
        for (int j = 0; j<2; j++) {
            NSLog(@"resA[%d][%d]:%f",i,j,resA[i][j]);
        }
    }
4

1 回答 1

1

好吧,从技术上讲,数组不是指针,只是衰减为指针。如果要避免警告,可以使用:

         vDSP_vadd(&num1[0][0], 1, &num2[0][0], 1, &resA[0][0], 1, 6);
于 2012-08-08T14:28:47.710 回答