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