【发布时间】:2015-09-22 08:42:06
【问题描述】:
根据 c++ 标准,以下程序是良构的还是良构的?
namespace X { int i; }
namespace Y { using X::i; }
int main() { using X::i; using Y::i; }
我使用不同的编译器得到不同的结果:
- MSVS:编译 (http://webcompiler.cloudapp.net/)
- Clang:编译 (http://melpon.org/wandbox/permlink/KloDufJ5h1DalK4v)
- GCC:编译错误(http://melpon.org/wandbox/permlink/IKuuQGE1THofuUTr)
我不想修复这个程序以使其在 GCC 上编译。我只想知道 c++ 标准对此有何评论,以及为什么这三个编译器的行为不同。如果这是任何这些编译器中的错误的结果,我也想这样做。
【问题讨论】:
标签: c++ declaration language-lawyer using-declaration