gpt4 book ai didi

c - 允许 C 编译器中的函数重载(抑制 C 中的 "conflicting types for "错误)

转载 作者:行者123 更新时间:2023-12-01 11:43:21 30 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





GCC: Allow overloaded functions in C99

(3 个回答)


8年前关闭。




假设我有这个 C 代码,它在 C 中有两个不同的声明。

struct pcdata
{
int x; int y;
};

int yyparse (struct pcdata *pp);
int yyparse (void *pp);

int yyparse (struct pcdata *pp)
{

}

用cc/gcc编译代码,我有 conflicting types错误。
test> cc -c hello.c
hello.c:7:5: error: conflicting types for 'yyparse'
int yyparse (void *pp);
^
hello.c:6:5: note: previous declaration is here
int yyparse (struct pcdata *pp);
^
1 error generated.
test> gcc -c hello.c
hello.c:7: error: conflicting types for ‘yyparse’
hello.c:6: error: previous declaration of ‘yyparse’ was here

g++ 没有错误,因为 c++ 允许函数重载。
test> g++ -c hello.c

是否有任何 gcc 选项允许函数重载?我有这个(简化的)代码和 Bison 2.7 生成的 tab.c 代码。

最佳答案

C 没有函数重载。

关于c - 允许 C 编译器中的函数重载(抑制 C 中的 "conflicting types for "错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17517810/

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