2
我创建了一组功能,它需要一个指向二维数组 并填写了一些数据阵列二维数组操作
这是我得到了它现在:
17 void m4identity(float *m[4][4]) {
18 *m = (float[4][4]) { { 1, 0, 0, 0 },
19 { 0, 1, 0, 0 },
20 { 0, 0, 1, 0 },
21 { 0, 0, 0, 1 } };
22 }
但不幸的是我得到一个编译错误:
linalg.c:18:7: error: incompatible types when assigning to type ‘float *[4]’ from type ‘float (*)[4]’
问题:
(*)[4]
和*[4]
有什么区别?有没有更好的方法来做到这一点?
我最初试图返回一个指向函数 内创建的数组的指针,但是这会引发另一个编译器错误,因为它会超出范围。 我也想避免从功能内分配空间作为 ,这将是很难控制的。
注意,这是完全一样的,宣布'空隙m4identity(浮子(* M)[4])' – newacct 2013-03-25 23:15:52