C++ 数据类型匹配,但我的链接列表仍然出错?

C++ 数据类型匹配,但我的链接列表仍然出错?,c++,linked-list,C++,Linked List,所以我得到了这个: 错误:类型为“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]; ch

所以我得到了这个:

错误:类型为“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;
}
LL*g_列表;
int size=50;
char getOption();
int main()
{
字符输入;
bool running=true;
g_列表=新的LL;
字符*名称=新字符[大小];
字符*颜色=新字符[大小];
姓名;
颜色;
人员*pers=新人员(姓名、颜色);
g_list->addBack(pers);//错误
返回0;
}
//LL.cpp文件(链接列表)
void LL::addBack(Person*pobj)
{
如果(计数=0)
{
水头=pobj;
}
其他的
{
人*ptr=人头;
对于(int i=0;i下一步;
}
ptr->next_u2;=pobj;
}
计数++;
pobj->next_u2;=0;
返回;
}
//个人构装师
Person::Person(字符*名称,字符*颜色)
{
名称=新字符[strlen(名称)];
strcpy(名称、名称);
颜色=新字符[strlen(颜色)];
strcpy(颜色,颜色);
下一步=0;
}

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

这看起来很奇怪,因为据报道类型是相同的。我只能想到一个原因:你有两种不同的
Person
类型,它们相互冲突。您需要找出
main()
中的
Person
的定义来自何处,并将其与
LL::addBack()

中使用的
Person
的定义进行比较。您有什么理由不使用字符串吗?您的代码片段太长也太短。它包含大量可以删除的材料,并且仍然会重现您的错误。此外,它还缺少能够让我们编译它的关键材料。请将您的程序减少到最小的、完整的、仍然存在错误的程序(提示:应该是15-20行)。将整个程序复制粘贴到您的问题中。请参阅。您没有正确地包含头文件,或者没有正确地编写单独的头文件。另外,注意你所写的与真实C++相差甚远。例如,你可能已经声明了“<代码>类人”;代码>在
LL
类中?