Нет необходимости использовать
bags<T> * self;
Всегда есть предоставленный язык this
.Если вы по какой-то причине должны использовать self
, сделайте его функцией-членом.
bags<T> const* self() const
{
return this;
}
bags<T>* self()
{
return this;
}
Другой вариант - использовать локальные переменные функции.
bags<T> const* self = this; // In const member functions.
bags<T>* self = this; // In non-const member functions.