clang: error: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v, чтобы увидеть вызов) - Неопределенные символы для архитектуры x86_64: - PullRequest
0 голосов
/ 30 мая 2020

Что не так с объявлением CellType? Это реализация связного списка. listHead - это новый пустой связанный список. Из-за использования listHead в другом разделе кода я попытался объявить его как глобальную переменную.

#include <iostream>

typedef struct CellType* Position;
typedef int ElementType;
struct CellType{
    ElementType value;
    Position next;
};

class List{
public:
    CellType* listHead;
    void makeNull();    //Create a new list
    void insertList(ElementType x, Position p); //Insert element to the list
    void deleteList(Position p);    //delete an element at position p
    Position first();   //get Position of first
    Position end();     //get Position of end
    Position next(Position p);  //get position of next
    void printList();   //print list
};

void List::makeNull(){
    listHead = new CellType;
    listHead -> next = NULL;
}

void List::insertList(ElementType x, Position p){
    Position temp;
    temp = p -> next;
    p->next = new CellType;
    p->value = x;
    p->next->next = temp;
}

void List::deleteList(Position p){
    p->next = p->next->next;
}

Position List::first(){
    return (listHead);
}

Position List::end(){
    Position p;
    p = listHead;
    while(p->next != NULL){
        p = p->next;
    }
    return(p);
}

Position List::next(Position p){
    return(p->next);
}

1 Ответ

0 голосов
/ 31 мая 2020

Эта проблема связана с обновлениями версии ОС и версией g ++. Я использую MacOS 10.15.5.

снова скомпилирован с помощью g ++, а затем успешно связан.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...