考虑下面的程序。是否按照c++标准格式正确(引用所需标准的相关部分):
namespace X { extern int i; }
namespace N { using X::i; }
int N::i = 1;
int main() {}
对于不同的编译器,我得到不同的结果。我试图找出应该为哪个编译器提交错误报告:
为了进行比较,以下给出了所有三个编译器的编译器错误:
namespace X { void f(); }
namespace N { using X::f; }
void N::f() {};
int main() {}
最佳答案
当前工作草案N4527,[8.3p1]:
因此,肯定是格式错误的; GCC和MSVC错误。
关于c++ - 尝试通过using-declaration定义 namespace 成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31496347/