gpt4 book ai didi

C++ 在嵌套命名空间内定义外部命名空间的函数

转载 作者:行者123 更新时间:2023-12-04 16:52:08 28 4
gpt4 key购买 nike

考虑代码

namespace A
{
}

namespace B
{
namespace ::A
{
void func();
}
}
这是无效的 C++ 语法 - 但我正在寻找有效的东西。我需要声明::A::func(),但是在命名空间 B 中(我不想要 B::A::func,而是 A::func)。
(如果你问为什么?那是因为 func() 最终将由一个宏声明,该宏也在命名空间 B 中声明了一些东西。)
有可能吗?

最佳答案

不,出于声明的目的,不可能以某种方式将自己重置为另一个命名空间范围内的全局命名空间。
虽然它有时可能很有用,而且 C++ 确实以作为一种通用语言而自豪,尽管它会使源代码在阅读时令人困惑 namespace ::A你不在 namespace B尽管源代码告诉你否则!如果您真的想看到这一点,那么为什么不向标准委员会提出建议呢?

关于C++ 在嵌套命名空间内定义外部命名空间的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69917764/

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