gpt4 book ai didi

c++ - 如何解决两个冲突的同名命名空间

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:12 28 4
gpt4 key购买 nike

我自己的代码中有一个命名空间 core 与我正在使用的动态库的命名空间 core 冲突。出现问题是因为我不能修改其中一个或另一个。第一个 core 因为是我们团队项目的一部分,第二个因为是库的一部分。有没有办法解决这种情况?

最佳答案

尝试将您的核心命名空间转变为子命名空间。

编辑:清理答案并添加代码。 (在手机上很难做到!)

这样您就可以访问每个“核心”命名空间。这也明确显示了所指的是哪个“核心”。即使外部库具有相同的函数名称,您也是安全的。

但是,您提到您实际上无法更改原始代码中的任何内容,因此您唯一的选择是使用不同的库并希望它没有“核心” namespace 。在我看来,说服您的团队更改他们的代码可能要容易得多。

// Your 'core' namespace, inside your own namespace.
namespace Mygame
{
namespace core
{
void Foo();
}
}

// Access both namespaces safely.
Mygame::core::Foo();
core::Foo();

关于c++ - 如何解决两个冲突的同名命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11480647/

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