数据类型匹配,但我的链表仍然出错

Data types match, but I still get an error with my Linked list?

本文关键字:链表 出错 我的 数据类型      更新时间:2023-10-16

所以我得到这个:

错误:类型 "Person *" 的参数与类型 "Person *" 不兼容

我不知道我做错了什么。 我确定这是愚蠢的事情,但如果有人能指出来,那就太好了。

LL* g_list;
int size = 50;
char getOption();
int main()
{
    char input;
    bool running = true;
    g_list = new LL;
    char* name = new char[size];
    char* color = new char[size];
    cout << "enter name: ";
    cin >> name;
    cout << "enter color: ";
    cin >> color;
    Person* pers = new Person(name, color);
    g_list->addBack(pers);  //error
    return 0;
}
//LL.cpp file (linked list)
void LL::addBack(Person* pobj)
{
    if (count_ == 0)
    {
        head_ = pobj;
    }
    else 
    {
        Person* ptr = head_;
        for (int i = 0; i < count_ - 1; i++)
        {
            ptr = ptr->next_;
        }
        ptr->next_ = pobj;
    }
    count_++;
    pobj->next_ = 0;
    return;
}
//Person constructor
Person::Person(char* name, char* color)
{
    name_ = new char[strlen(name)];
    strcpy(name_, name);
    color_ = new char[strlen(color)];
    strcpy(color_, color);
    next_ = 0;
}

如果需要更多信息,请告诉我。

这似乎很奇怪,因为据报道类型相同。 我只能想到一个原因:您有两种不同的Person类型,它们是相互冲突的。 您需要弄清楚main()Person的定义是从哪里来的,并将其与LL::addBack()中使用的Person定义进行比较