Я пытаюсь создать функцию-член, которая принимает четыре входа, основной список, ключ и два дополнительных списка.Затем он делит основной список на два вторичных списка на основе ключа.
Это из книги по программированию, поэтому там должна быть функция-член.
Я получаю эту ошибку: «базовый операнд» -> »имеет тип без указателя'UnsortedType'.
Это целая функция, вызывающая проблему.
void UnsortedType::SplitLists(UnsortedType list,
ItemType item,
UnsortedType& list1,
UnsortedType& list2){
ItemType whichItem;
int numItems = list.GetLength();
//Loop through all items in the list
for(int i = 0; i < numItems; i ++){
whichItem = list.GetNextItem();
try{
switch(whichItem.ComparedTo(item)){
case LESS:
case EQUAL:
if(list1->isFull()){//Error thrown on this line
throw std::string("List1 is full.");
return;
}
//add item to list1
list1->PutItem(whichItem);//Error thrown on this line
break;
case GREATER:
if(list2->isFull()){//Error thrown on this line
throw std::string("List2 is full.");
return;
}
//add item to list2
list2->PutItem(whichItem);//Error thrown on this line
break;
}
}
catch(std::string e){
std::cout << e << std::endl;
}
}
};
Обратите внимание, что "list1" и "list2" - это UnsortedTypes, переданные по ссылке, и я думаю, что это частьпроблемы.
Что я делаю не так?
Спасибо за ваше время.