gpt4 book ai didi

c - 错误: too few arguments to function 'set_new_node'

转载 作者:行者123 更新时间:2023-11-30 16:19:06 25 4
gpt4 key购买 nike

关于此错误的所有其他线程要么是 C++ 中的,要么是不同的情况,所以我要为其创建一个线程。尽管我为两个参数都提供了 NULL,但我收到此错误。在这种情况下 NULL 不起作用吗?

typedef struct set {
struct set_node *head;
}set_t;

typedef struct setnode{
const char *key;
void *item;
void *next;
}setnode_t;


set_t *set_new(void)
{
//Creates NULL node
set_t *set = count_malloc(sizeof(set_t));

set->head = set_new_node(NULL, NULL);

return set;
}

static *setnode_t set_new_node(const char *key, void *item)
{
setnode_t *node = count_malloc(sizeof(setnode_t));

if (node == NULL) {
return NULL;
} else {
node->key = key;
node->item = item;
node->next = NULL;
return node;
}
}

我得到的错误:

set.c:53:3: error: too few arguments to function 'set_new_node'
set->head = set_new_node(NULL, NULL);

最佳答案

更改函数实现的顺序。

static *setnode_t set_new_node(const char *key, void *item)
{
setnode_t *node = count_malloc(sizeof(setnode_t));

if (node == NULL) {
return NULL;
} else {
node->key = key;
node->item = item;
node->next = NULL;
return node;
}
}

set_t *set_new(void)
{
//Creates NULL node
set_t *set = count_malloc(sizeof(set_t));

set->head = set_new_node(NULL, NULL);

return set;
}

在 C 中,函数实现的顺序很重要,或者将签名(static setnode_t *set_new_node(const char *key, void *item); 声明在 set_t *set_new(void) 实现之前)

关于c - 错误: too few arguments to function 'set_new_node' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com