Я занят назначением, я получаю сообщение об ошибке от компилятора. У меня есть 4 года опыта работы C# в C++.Необходима помощь для начинающих с синтаксисом C++
Я получаю сообщение об ошибке "Invalid преобразование NODETYPE, инициализирует аргумент 1 пустот linkedListType :: deleteNode (Тип конструкции &) [с Type = INT]" на линии deleteNode(current->link);
этой функции:
template<class Type>
void linkedListType<Type>::deleteNodePosition(int position)
{
nodeType<Type> *current; //pointer to traverse the list
nodeType<Type> *trailCurrent; //pointer just before current
if(first == NULL) //Case 1; list is empty.
cerr<<"Can not delete from an empty list.\n";
else
{
current = first;
int counter = 0;
while(current != NULL && counter <= position)
{
trailCurrent = current;
current = current->link;
counter++;
} // end while
deleteNode(current->link);
}
deleteNode определяется как:
template<class Type>
void linkedListType<Type>::deleteNode(const Type& deleteItem)
{
.....
и NODETYPE определяется как:
struct nodeType
{
Type info;
nodeType<Type> *link;
};
и я вызываю функцию, вызвавшую с этим:
linkedListType<int> llist;
llist.insertFirst(99);
llist.insertLast(94);
llist.deleteNodePosition(2);
Пожалуйста, помогите?
'deleteNode()' определяется как 'const Type &', но вы вызываете его с аргументом 'current-> link', который имеет тип' nodeType * '. Это несовместимые типы. –
Спасибо за редактирование. Не знал о домашнем теге. – callisto
Нет проблем!Вы добавили его в духе, когда сказали, что это задание. – John