Friend with own class template with other template parameter
Friend with own class template with other template parameter
是否可以将您自己的 class 模板与其他模板参数声明为好友?
template<class T, class... Ts>
class A {
template<class U> friend class A<U, Ts...>; //compile error - C3772 'A<U>': invalid friend template declaration
};
template<class T, class... Ts>
class A {
template<class U, class... Us> friend class A; //here you go
};
A
后无需指定模板参数
class 模板的部分特化不能声明为友元。仅(完整)专业化或整个 class 模板。如果你真的需要加好友所有 U
专长,你需要加好友整个模板:
template<class U, class... Us> friend class A;
是否可以将您自己的 class 模板与其他模板参数声明为好友?
template<class T, class... Ts>
class A {
template<class U> friend class A<U, Ts...>; //compile error - C3772 'A<U>': invalid friend template declaration
};
template<class T, class... Ts>
class A {
template<class U, class... Us> friend class A; //here you go
};
A
class 模板的部分特化不能声明为友元。仅(完整)专业化或整个 class 模板。如果你真的需要加好友所有 U
专长,你需要加好友整个模板:
template<class U, class... Us> friend class A;