#c #linked-list
#c #связанный список
Вопрос:
Я просто учусь отображать данные с помощью связанного списка, и я хочу добавить функцию для отображения данных, превышающих 10, но появляется ошибка ISO C Запрещает сравнение между указателем и целым числом [-fpermissive]. Я не знаю, как исправить мой код
void DisplayList(void){
Node* temp = new Node;
temp = head;
while(temp != NULL){
cout<<temp -> data<<" ";
temp = temp->next;
}
cout<<endl;
}
void GreaterList(void){
Node* temp = new Node;
temp =head;
while(temp != NULL){
if(temp >= 10){
cout<<temp->data<<" ";
temp = temp->next;
}
}
}
Ответ №1:
Вы забыли получить данные из узла для сравнения :
void GreaterList(void){
Node* temp = new Node;
temp = head;
while(temp != NULL){
if(temp->data >= 10){ // <== Here
cout<<temp->data << " ";
temp = temp->next;
}
}
}
Ответ №2:
Привет и добро пожаловать в Stackoverflow.
Ваша проблема — это просто проблема типа. Вам нужно разыменовать ваш временный указатель, чтобы получить фактическое значение и сравнить его с целым числом.
while(*temp >= 10){
...
}
´´´