64,648
社区成员
发帖
与我相关
我的任务
分享
class X {
enum { a=100 };
friend class Y;
};
class Y {
int v[X::a]; // OK, Y is a friend of X
};
class A
{
};
struct S
{
};
union U
{
};
class B
{
friend class A;
friend struct S;
friend union U;
};
class A {
template<class T> friend class B; // OK
template<class T> friend void f(T){ /* ... */ } // OK
};
class X {
template<class T> friend struct A;
class Y { };
};
template<class T> struct A { X::Y ab; }; // OK
template<class T> struct A<T*> { X::Y ab; }; // OK
template <typename T>
class Final
{
friend typename T;
};
- -!