请考虑以下代码段:
class MyClass
{
private:
struct Privateclass
{
struct SubStruct;
};
public:
struct Privateclass::SubStruct {};
private:
Privateclass::SubStruct member;
};
MSVC和gcc编译此代码没有任何错误。但是,clang会产生以下错误:
<source>:10:26: error: non-friend class member 'SubStruct' cannot have a qualified name
struct Privateclass::SubStruct {};
那么,谁是对的?这是叮当声的错误吗?