【发布时间】:2013-11-23 23:08:54
【问题描述】:
如果我有一个接受可变参数包模板参数的类,我如何将它们全部声明为朋友?
这是我想以伪代码形式执行的操作:
template<typename... Ts>
class AbstractMyClass {
int privateInt;
friend Ts...;
};
class OtherClass;
using MyClass = AbstractMyClass<OtherClass>;
class OtherClass {
public:
void foo(MyClass &c){
c.privateInt = 42;
}
};
【问题讨论】:
-
passkey(C++11
allow版本)可能比交友更好。
标签: c++ metaprogramming variadic-templates