Как отобразить больший связанный список данных

#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){
   ...
}
´´´