抱歉,如果这是一个过于简单的问题。我只是非常沮丧。
在编译时,我收到以下错误:
sll.c:129: error: incompatible types in return
这是我文件顶部的结构定义,可能有必要了解发生错误的函数:
struct string_linked_list {
char *s;
struct string_linked_list *next;
};
typedef struct string_linked_list SLL;
这是返回错误的函数。我编写函数只是为了测试目的构造一个单例列表。
SLL makeSingleton()
{
SLL * new= (SLL *) malloc( sizeof(SLL));
char*sp = strdup("test");
new->s = sp;
new->next = NULL;
return new;
}
你知道问题出在哪里吗?
最佳答案
你需要指定你的返回类型:
SLL* makeSingleton()
{
如果不指定,在 C 中,该函数将默认返回 int。
编辑:
鉴于您的新编辑,问题是您需要使返回类型为 SLL*
,而不是 SLL
:
SLL* makeSingleton()
关于c - 不兼容的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823283/