C “值类型”;字符串*”;无法将分配给实体类型";课程“;
我一直被这个错误困扰着,找不到解决问题的办法。我有一个函数(下面的代码)可以插入\u bts\u节点C “值类型”;字符串*”;无法将分配给实体类型";课程“;,c,data-structures,C,Data Structures,我一直被这个错误困扰着,找不到解决问题的办法。我有一个函数(下面的代码)可以插入\u bts\u节点 enter code hereBSTNodePtr insert_bst_node(BSTNodePtr self, String *item) { /* check if found location, then insert */ if (self == NULL) { self = malloc(sizeof * self); self->course = item
enter code hereBSTNodePtr insert_bst_node(BSTNodePtr self, String *item) {
/* check if found location, then insert */
if (self == NULL) {
self = malloc(sizeof * self);
self->course = item;
//item = strcpy(self->course, item);
self->left = self->right = NULL;
create_list(self->course);
//self->course = create_list();
}
/**
* else if (item < self->course) {
self->left = insert_bst_node(self->left, item);
}
*/
else if (strcmp(item,self->course)<0){
self->left = insert_bst_node(self->left, item);
}
else if (strcmp(item,self->course) >0){
self->right = insert_bst_node(self->right, item);
}
return self;
item
是String*
类型,self->course
是struct course
类型,正如错误消息所说。
如果要将项目分配给课程名称(即String
type),则应执行self->course.name=*项目
typedef char* String;
typedef struct Course {
String name;
StudentList students;
} Course;
typedef struct bstNode {
Course course;
struct bstNode* left;
struct bstNode* right;
} *BSTNodePtr;