不命名类型

Does not name a type

本文关键字:类型      更新时间:2023-10-16

不知道编译器为什么给出"nodes"not name a type"错误。

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;

现在我假设您完全按照指定的方式编写代码:

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;
}