4

我只是想在没有太多 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
4

2 回答 2

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;
}
于 2013-03-13T17:17:17.183 回答
0

看起来不错。但是您可能想对 rootNode.rotation 做点什么?

Node rootNode;
memset(&rootNode, 0, sizeof(rootNode)); // zero everything there
rootNode.rotation = .5f;
于 2013-03-13T17:20:34.137 回答