【发布时间】:2013-09-15 22:54:35
【问题描述】:
以下代码有效吗?
struct A
{
struct nested;
};
struct B : public A {};
struct B::nested {};
gcc 接受它,但 clang 拒绝它并出现以下错误:
test.cpp:8:14: error: no struct named 'nested' in 'B'
class B::nested {};
~~~^
【问题讨论】:
-
我认为 A 的私有
nested类对 B 不可见。 -
@franji1:我认为这与可见性无关。我将类更改为结构,但 clang 仍然拒绝它。
标签: c++ inheritance gcc clang nested-class