我正在用C开发一个应用程序。我想在多个源文件中使用同名的本地函数。让我把问题简单化:
在地狱里。C
void myLocalFunc(){ printf("Hello hell\r\n"); }
在世界上。
void myLocalFunc(){ printf("Hello world\r\n"); }
因为它们只是本地函数,所以我不会在头文件中声明它们。但是当我编译这个项目时,它给了我“mylocalfunc的多个定义”错误消息,还有这个消息:“mylocalfunc的多个定义(首先在这里定义)”。
我在这里犯了什么错?
最佳答案
换成
static void myLocalFunc(){ printf("Hello world\r\n"); }
或者,如果你使用C++,你也可以使用这样的匿名命名空间:
namespace {
void myLocalFunc(){ printf("Hello world\r\n"); }
}