Сначала мой код, лучше задать вопрос с видимым кодом.
template<class T>
class TemplateClass
{
public:
TemplateClass()
{
};
~TemplateClass(){};
T cc{this};
void tbcFunction(){};
void otherFunction(){};
};
class CallerClass
{
public:
CallerClass(TemplateClass<CallerClass>* tc) : templatePointer(tc){};
~CallerClass(){};
TemplateClass<CallerClass>* templatePointer;
void myFunction()
{
templatePointer->tbcFunction();
};
};
void setup()
{
TemplateClass<CallerClass> ct;
ct.otherFunction();
}
Мне нужно вызвать функцию из TemplateClass из кода в CallerClass.
Один из способов добиться этого должен предоставить "this" из TemplateClass в CallerClass при создании экземпляра. Это решение, которое я сделал выше, передав его в конструкторе.
Есть ли какие-либо негативные эффекты при этом?
Существуют ли другие / лучшие / более элегантные решения для этого?