gpt4 book ai didi

getline 函数的类型冲突

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:01 27 4
gpt4 key购买 nike

我的代码块中有一个 getline 函数。但是在编译 make 文件时出现以下错误:

cc -DMAIN   -c -o terp.o terp.c
terp.c:130:15: error: conflicting types for ‘getline’
In file included from terp.c:2:0:
/usr/include/stdio.h:675:20: note: previous declaration of ‘getline’ was here
make: *** [terp.o] Error 1

terp.c 130 左右的部分:

 PRIVATE char *getline()
{
static int first_time_called=1;
if(!first_time_called)
return 0;
first_time_called=0;
return Expr;
}

最佳答案

至少有三种可能的解决方案。

  1. 作为getline()不在标准 c 库中,但在 POSIX(和 GLIBC)中,可以切换以禁用其扩展(它们在 GCC 中默认启用)。尝试使用命令 cc -DMAIN -std=c99 -c -o terp.o terp.c 编译您的源代码.

  2. 如果您需要 POSIX 扩展,您必须重命名您的 getline()对其他东西起作用。

  3. 删除 #include <stdio.h>从您的来源,此错误消息将消失。但是如果 POSIX 的 getline() 你可能会感到困惑在您的源代码中使用,因为它将被您的替换。

关于getline 函数的类型冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22613993/

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