有人可以确认在目标C中不允许嵌套的C结构.
通过嵌套结构,我的意思是:
struct Tex2D { GLfloat u; GLfloat v; }; // quad uv cords struct TexQuad { Tex2D uv[4]; };
我似乎有各种各样的问题编译这个.很难找到任何关于此的文档,因为这是完全有效的c代码.
干杯里奇
你在那里没有有效的C代码.请记住,在C语言中,当您声明一个struct变量时,您必须将其显式引用为结构,如下所示:
struct StructType myStruct;
我见过的最常见的解决方法是将struct声明与typedef捆绑在一起,如下所示:
typedef struct _Tex2D { GLfloat u; GLfloat v; } Tex2D; // quad uv cords typedef struct _TexQuad { Tex2D uv[4]; } TexQuad;
这样,您就可以创建新的struct变量而无需使用struct
关键字.
与在C中一样,在引用结构时必须使用关键字struct.:-)
// quad uv cords struct TexQuad { struct Tex2D uv[4]; };
作品!