gpt4 book ai didi

c++ - 如何从模板类方法中调用已定义类的方法

转载 作者:搜寻专家 更新时间:2023-10-31 00:20:19 24 4
gpt4 key购买 nike

我应该如何从模板类方法中调用已定义类中的方法?以下是我的场景 -

  1. 模板类

    template <class T>
    class TC {
    void myTemplateMethod() {
    T.myMethod(); //can I call like this ?
    }
    };
  2. 定义类

    class tdef {
    void myMethod() {
    //does something
    }
    };
  3. 主要内容

    int main()  {
    TC<tdef> tobj;
    tobj.myTemplateMethod(); //can I call tdef.myMethod() like this?
    }

请注意,我调试了这样的代码,发现 tdef.myMethod() 在这样调用时不起作用。从 Template 类方法中调用 tdef.myMethod() 时,是否有可能未处理某些异常?

-桑纳特

最佳答案

那是一个非静态成员函数,所以它只能在实例上调用。模板不会改变这一事实。

T t;
t.myMethod();

或者如果函数是静态的:

T::myMethod();

关于c++ - 如何从模板类方法中调用已定义类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6259291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com