Вызов другой функции-члена из функции в шаблоне класса в C++

Допустим, у меня есть шаблон класса с именем myTemplate с некоторыми переменными-членами и двумя функциями-членами, funcTempA, а также funcTempB,

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?
}

2 ответа

Решение

Просто позвоните прямо, например:

return funcTempA(arg1, arg2);

Кстати: определение функции-члена funcTempB кажется неправильным, может вызвать некоторые неожиданные ошибки.

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

ЖИТЬ

Чтобы вызвать переменную-член или функцию-член, вы можете использовать this ключевое слово.

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

Вы можете прочитать это, чтобы узнать о this

Другие вопросы по тегам