gpt4 book ai didi

c++ - 从父命名空间重载类型

转载 作者:行者123 更新时间:2023-12-01 12:44:05 26 4
gpt4 key购买 nike

这似乎可以正确编译:

namespace A {
template<typename T>
struct S {};

namespace B {
using S = S<int>;
}
}

int main() {
using namespace A::B;
S s;
}

即使在线 using S = S<int> ,第一 SA::B::S ,而第二个 S指模板 A::S .

这是标准的 C++ 吗?

最佳答案

S范围从声明点开始,对于 using声明它在别名所指的类型 ID 之后( S<int> )。

所以在声明里面,新的作用域S还没开始,S仍指A::S .

根据https://en.cppreference.com/w/cpp/language/scope#Point_of_declaration .

关于c++ - 从父命名空间重载类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60391041/

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