2013-11-02 5 views
0

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

void TwoDimTree::insertNewNode(Rectangle dataIn) 
{ 
insertNewRectangleUtility((&tree), dataIn); 
} 


void TwoDimTree::insertNewRectangleUtility(TwoDimTree** temp, Rectangle dataIn) 
{ 
//code here... 

} 

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

insertNewRectangleUtility((&tree), dataIn); 

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

+1

Вы скопировали этот код, или ваш фактический код может содержать опечатку? Является ли тип 'Прямоугольник 'видимым в этот момент кода? – stefan

+0

Что такое ** точная ошибка компилятора **? Какой компилятор? Какая платформа? –

+0

@ThomasMatthews: http://msdn.microsoft.com/en-us/library/s5b150wd.aspx –

ответ

1

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

Смежные вопросы