私は(いくつかのライブラリに)そのシグネチャがこれである関数を持っています:
extern LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float (*face_normals)[3]);
2番目の引数で何を期待しますか?
私はこれを試しました:
float *norm_verts[3];
norm_verts=(float(*)[3])malloc(3*sizeof(float[3])*mesh->nfaces);
lib3ds_mesh_calculate_face_normals(mesh, norm_faces);
2行目にはExpression must be modifiable value
、3行目にはargument of type float** is incompatible with parameter of type float(*)[3]
私の直感では、それfloat* [3]
はたった3つのポインターですが、なぜ地獄は*
角かっこで囲まれているのですか?