c2664 — c ++ не может преобразовать параметр

Я пытаюсь вставить прямоугольные объекты в дерево. Это реализация функции вставки.

void TwoDimTree::insertNewNode(Rectangle dataIn)
{
insertNewRectangleUtility((&tree), dataIn);
}void TwoDimTree::insertNewRectangleUtility(TwoDimTree** temp, Rectangle dataIn)
{
//code here...

}

Компилятор выдает ошибку C2664 (не может преобразовать параметр 2 из Rectangle в Rectangle) в третьей строке:

 insertNewRectangleUtility((&tree), dataIn);

Что я должен делать?

0

Решение

Учитывая сообщение об ошибке, я бы поставил на explicitчастный или удаленный конструктор копирования. Скорее всего, конструктор копирования явно, в этом случае вы можете скопировать Rectangle явно, но неявно, как при передаче объектов типа Rectangle в качестве аргумента или при возврате их из функций. Так как вы не опубликовали определение класса Rectangle Я не могу сказать наверняка, хотя.

1

Другие решения

Других решений пока нет …