gpt4 book ai didi

c - C中链接错误的多重定义

转载 作者:太空狗 更新时间:2023-10-29 15:59:39 25 4
gpt4 key购买 nike


我正在用 C 开发一个应用程序。我想在多个源文件中使用同名的本地函数。让我简化一下这个问题:

在 hell .c

void myLocalFunc(){ printf("Hello hell\r\n"); }

在world.c中

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"); }
}

关于c - C中链接错误的多重定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7025216/

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