gpt4 book ai didi

c - 未知类型名称 'sll'。结构问题

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:02 24 4
gpt4 key购买 nike

我是 C 的新手,我的结构被列为未知类型时遇到问题。我无法更改方法签名,因为它们是由我的教授编写的,他将从外部代码链接到它们。

sll.c:6:1: error: unknown type name 'sll'
sll *newSLL(void (*d)(FILE *, void*)) {
in function 'newSLL';

编辑:添加了实际错误

头文件:

#ifndef __SLL_INCLUDED__
#define __SLL_INCLUDED__

typedef struct sllnode {
void *value;
struct sllnode *next;
} sllnode;

typedef struct sll {
sllnode *head;
sllnode *tail;
int size;
void (*display)(FILE *,void *);
} sll;

extern sll *newSLL(void (*d)(FILE *,void *));

C 文件:

#include <stdio.h>
#include <stdlib.h>

struct sllnode {
void *value;
struct sllnode *next;
} *sllnode;

struct sll {
struct sllnode *head;
struct sllnode *tail;
int size;
void (*display)(FILE *,void *);
} *sll;

sll *newSLL(void (*d)(FILE *,void *)) {
struct sll *items = malloc(sizeof(sll));
if (items == 0){
fprintf(stderr,"out of memory");
exit(-1);
}

items->head = 0;
items->tail = 0;
items->size = 0;
items->display = d;
return items;
}

最佳答案

您的 C 文件从未包含头文件,因此未定义类型 ssl

您需要在 C 文件的顶部包含标题。然后您需要从 C 文件中删除 struct 定义,因为它们已经在 header 中定义。

关于c - 未知类型名称 'sll'。结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41748214/

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