I have the following 2 typedef's:
typedef float matrix_3x4[3][4];
typedef matrix_3x4 bone_mat[128];
And the following function definition:
float ****get_bones();
Why is the following code giving me a type conversion error?
bone_mat *mat = get_bones();
Error:
error: cannot convert ‘float ****’ to ‘float (*)[128][3][4]’ in initialization
85 | bone_mat *mat = get_bones();
| ~~~~~~~~~^~
| |
| float****
Tried changing the type of mat to bone_mat or bone_mat**, but shouldn't float(*)[128][3][4] be the same as float****?
Casting the return value of the function to (bone_mat*) doesn't work either.
float ****.float****is not a 4d array.float****has no dimensions information in it thus it is not a pointer to array even though it admitsptr[a][b][c][d]syntaxget_bones()? If so, can you post it?