ошибка: слишком мало аргументов для функции 'set_new_node' - PullRequest
0 голосов
/ 16 апреля 2019

Все остальные потоки по этой ошибке либо в 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);

1 Ответ

0 голосов
/ 16 апреля 2019

Изменение порядка реализации функций.

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) реализации)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...