我有一个私有Node类,它跟踪一个键,值和下一个节点,将所有节点链接在一起。
然而,当我尝试声明numItems和列表的头部时,我得到一个错误,声明它们从未被声明。
typedef struct NodeObj{
char* key;
char* val;
struct NodeObj* next;
} NodeObj;
typedef NodeObj* Node;
Node newNode(char* x, char* y){
//makes a Node N and returns N
// x->key, y->val next->NULL
}
//the main class
typedef struct ListObj{
Node head;
int numItems;
} ListObj;
List newList(void){
List L = malloc(sizeof(ListObj));
assert(L!=NULL);
L->Head = NULL;
L->numItems = 0;
return L;
}
//whenever I try to reference Head or numItems I get errors stating
//that they haven't been declared?
我得到的错误是
List.c: In function'find':
List.c:59:11: error: 'head' undeclared(first use in this function)
Node N = head
List.c:60: note: use option -std=c99 or -std=gnu99 to compile your code
每当我引用numItems或Head时,都会重复相同的错误,并且我使用-std = c99来编译
答案 0 :(得分:0)
这里有几件事可能会出错。
列表L = malloc(sizeof(ListObj)); //这应该是一个指针类型 =>清单* L = ....
List L和ListObj是不同的类型,所以甚至写 List * L = malloc(sizeof(ListObj))没有所需的效果
答案 1 :(得分:0)
sudo chmod -R 777 /opt/myenv/pysauce/static
sudo chown -R 777 /opt/myenv/pysauce/static