【发布时间】:2011-10-22 20:15:45
【问题描述】:
我想要一个模板,可以访问它的 typename 参数的受保护方法。我怎样才能做到这一点?
例如:
class Foo{
...
protected:
int Bar();
}
template <class T> FooTempl{
...
int SomeMethod(T* ptr) { return ptr->Bar();};
...
}
原因是我希望模板可以访问方法Foo::Bar(),而不是任何其他外部调用者。我希望那里有一些 friend 语法可以使它工作......
【问题讨论】:
-
除了访问级别,应该是
ptr->Bar(),而不是T->Bar() -
为什么不能直接加好友到
Foobody? -
@tyz 你什么意思?我如何
friend一个模板?这就是问题的重点:-)