我正在用C开发一个应用程序。我想在多个源文件中使用同名的本地函数。让我简化一下这个问题:
in hell.c
void myLocalFunc(){ printf("Hello hell\r\n"); }
在world.c中
void myLocalFunc(){ printf("Hello world\r\n"); }
因为它们只是本地函数,所以我不在头文件中声明它们。但是当我编译项目时,它给了我“'myLocalFunc'的多重定义'”错误信息以及这一个:“'myLocalFunc'的多重定义'(在这里首先定义)”。
我的错误是什么?
答案 0 :(得分:8)
将其替换为
static void myLocalFunc(){ printf("Hello world\r\n"); }
或者,如果你正在使用C ++,你也可以使用这样的匿名命名空间:
namespace {
void myLocalFunc(){ printf("Hello world\r\n"); }
}