gpt4 book ai didi

c - 如何处理C中重复的函数名?

转载 作者:太空狗 更新时间:2023-10-29 16:39:13 26 4
gpt4 key购买 nike

我有一个小项目,其中我在两个不同的源文件中命名了两个相同名称的函数,但是在构建项目时,编译器失败并显示“func_name already defined in filename.obj”。

为什么我不能在两个不同的源文件中有两个同名的函数?我认为只有当我们在头文件中声明它时它才会成为全局函数,该函数应该是源文件的本地函数。

除了改文件名,对于C语言中的函数重名问题,还有其他优雅的解决方法吗?

最佳答案

在 C 中,函数默认具有全局作用域。要限制其范围,请使用 static 关键字使其对模块私有(private)。

头文件的作用只是将函数连同其签名公开给其他模块。

所有全局名称(有一些注意事项)必须是唯一的。这是有道理的,因为链接器使用该名称将函数调用连接到函数本身的实现。

具有静态和本地范围的名称只需要在其范围内是唯一的。

关于c - 如何处理C中重复的函数名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098380/

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