从 C++ 中的 class 模板中的函数调用另一个成员函数

Calling another member function from a function in a class template in C++

假设我有一个名为 myTemplate 的 class 模板,其中包含一些成员变量和两个成员函数,funcTempAfuncTempB.

template <class T>
class myTemplate
{
    private:
        //member variables
    public:
        T* funcTempA(T *arg1, T *arg2);
        T* funcTempB(T *arg1, T *arg2);
}

funcTempB 在其实现中调用 funcTempA。我只想知道调用它的正确语法是什么。

template <class T>
T* funcTempB(T *arg1, T *arg2)
{
    //how to call funcTempA here?
}

要调用成员变量或成员函数,可以使用this关键字。

template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
{
    this->funcTempA(arg1, arg2);
    return ...;
}

您可以阅读 this 以了解有关 this

的矿石

直接调用即可,如:

return funcTempA(arg1, arg2);

顺便说一句:成员函数funcTempB的定义似乎有误,可能会导致一些意想不到的错误。

template <class T>
T* myTemplate<T>::funcTempB(T *arg1, T *arg2)
// ~~~~~~~~~~~~~~~
{
    return funcTempA(arg1, arg2);
}

LIVE