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