首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++:命名空间中的外部C函数

C++:命名空间中的外部C函数
EN

Stack Overflow用户
提问于 2012-03-13 22:25:53
回答 1查看 7.7K关注 0票数 17

我必须链接两个库,比如A和B。有些文件在两个库中都是通用的。因此,我在库A的名称空间中声明了函数,比如abc。因此,在A和B中,函数func如下所示:

代码语言:javascript
复制
[ in A]

    namespace abc {
    extern "C" void func();
    }


[in B]

    extern "C" void func();

在构建项目时,编译器抛出链接错误,指出函数func有多个定义。是不是A中的函数func在名称空间内,或者是外部"C“函数有问题。如果有,那么我如何区分它们呢?

EN

回答 1

Stack Overflow用户

发布于 2012-03-13 22:30:50

当您使用Extern "C“时,您关闭了名称损坏,因此您丢失了名称空间信息,因为C没有这样的概念。这会导致重复的定义。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9685994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档