Вызов другой функции-члена из функции в шаблоне класса в 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