我在尝试创建采用struct aiMatrix4x4 *或任何其他aiStructs的函数时收到上述错误,我不知道为什么,我可以正确地建立模型,我只是无法使用上述struct作为某些奇怪的参数来创建函数原因,这是我所质疑的代码,我什至可以隔离它,但仍然给我错误...

#include <math.h>
#include <assimp/cimport.h>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include <assimp/matrix4x4.h>

// A Bit Later in the Code

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4* a);


我正在使用从源代码编译的最新assimp ...与C.使用clang作为编译器。

最佳答案

根据docaiMatrix4x4是C ++中的typedef。

因此,您不能用C ++编写struct aiMatrix4x4

static inline void mat4x4_loadassimp(mat4x4 M, aiMatrix4x4 *a);


如果使用C编译,则必须编写:

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4 *a);

关于c - Assimp细化类型是指typedef,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41372629/

10-12 18:59