我有以下两个类型定义:
typedef float matrix_3x4[3][4];
typedef matrix_3x4 bone_mat[128];
和以下函数定义:
float ****get_bones();
为什么下面的代码给我一个类型转换错误?
bone_mat *mat = get_bones();
错误:
error: cannot convert ‘float ****’ to ‘float (*)[128][3][4]’ in initialization
85 | bone_mat *mat = get_bones();
| ~~~~~~~~~^~
| |
| float****
try 将mat
的类型更改为bone_mat
或bone_mat**
,但float(*)[128][3][4]
不应该与float****
相同吗?
将函数的返回值转换为(bone_mat*)
也不起作用.