如何从模板类方法中调用已定义类中的方法? 以下是我的情景 -
模板类
template <class T>
class TC {
void myTemplateMethod() {
T.myMethod(); //can I call like this ?
}
};
定义的类
class tdef {
void myMethod() {
//does something
}
};
主要
int main() {
TC<tdef> tobj;
tobj.myTemplateMethod(); //can I call tdef.myMethod() like this?
}
请注意,我调试了这样的代码,发现tdef.myMethod()在这样调用时不起作用。还有什么机会在从Template类方法中调用tdef.myMethod()时不处理某些异常?
-Somnath
答案 0 :(得分:6)
这是一个非静态成员函数,因此只能在实例上调用它。模板不会改变这一事实。
T t;
t.myMethod();
或者如果函数是静态的:
T::myMethod();