Похоже, вы пытаетесь вызвать этот конструктор: ClassX(int i, ClassX** owner)
, но когда вы вызываете его с помощью objects.append(new ClassX (3, (*this))
, вы не указываете правильный тип для использования этого конструктора.
Когда вы используйте *this
(специальный указатель на используемый в данный момент объект), вы разыменовываете его, что создает экземпляр ClassX&
- ссылку на ClassX
объект. Это не то же самое, что двойной указатель, который вы указали во втором конструкторе, поэтому компилятор ожидает найти другой конструктор со следующим объявлением ClassX::ClassX(int, ClassX&)
.
. Вы можете просто изменить конструктор следующим образом: ClassX(int i, ClassX &owner)
.