Global qualification in a class declarations class-head

谁都会走 提交于 2019-11-29 11:36:44
Johannes Schaub - litb

I think you are getting it right: GCC implements the standard to the letter in this case, while the others implement it less strict (have a look at issue #355).

You could do the following to work-around the limitation of the syntax

struct identity< ::A >::type::B {}; 

Or you use an explicit named typedef

typedef ::A AHidden;
struct AHidden::B { };

Or, of course, you exchange the order of using namespace and the nested class definition. Notice that Annex A is informative only. The normative text is at clauses 5.1/7 and 9.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!