我只是想设置一个简单的递归结构而不需要太多的C知识(必须以某种方式学习)
这是我的make编译行
g++ -o cs533_hw3 main.c
这是我的代码
typedef struct Node Node;
struct Node
{
int texture;
float rotation;
Node *children[2];
};
Node rootNode;
rootNode.rotation
这是我在最后一行的错误
error: 'rootNode' does not name a type
答案 0 :(得分:19)
代码必须在C中的函数中。您可以在全局范围内声明变量,但不能在那里放置语句。
更正示例:
typedef struct Node Node;
struct Node
{
int texture;
float rotation;
Node *children[2];
};
Node rootNode;
int main(void)
{
rootNode.rotation = 12.0f;
return 0;
}
答案 1 :(得分:0)
看起来正确。但你可能想用rootNode.rotation做点什么?
Node rootNode;
memset(&rootNode, 0, sizeof(rootNode)); // zero everything there
rootNode.rotation = .5f;