不知道为什么编译器会给出"'节点'没有命名类型"错误。
struct node;
struct node{
int data;
struct node* left;
struct node* right;
};
struct node *nodes[1024];
nodes[1]->data = 1;
nodes[1]->left = NULL;
nodes[1]->right = NULL;
答案 0 :(得分:5)
现在我假设您完全按照指定编写了代码:
struct node *nodes[1024];
nodes[1]->data = 1;
nodes[1]->left = NULL;
nodes[1]->right = NULL;
您遇到编译器错误的原因是因为它不是有效的C ++代码。
但是如果你将代码移动到一个函数中,它将编译得很好:
struct node *nodes[1024];
void AddFunction()
{
nodes[1]->data = 1;
nodes[1]->left = NULL;
nodes[1]->right = NULL;
}