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