gpt4 book ai didi

c++ - 构建项目时 Unresolved external symbol 错误

转载 作者:行者123 更新时间:2023-11-28 06:23:32 25 4
gpt4 key购买 nike

我需要实现一个链表,但我无法在我的代码中找到错误。我知道 unsolved external symbol 意味着我可能有一个函数声明但没有实现,但我查看了我的代码,看不出缺少什么。

我得到的错误是 LNK2019: unresolved external symbol "public: __thiscall ListElement::ListElement(int)"(??0ListElement@@QAE@H@Z) referenced in function "public: __thiscall List: :List(void)"(??0List@@QAE@XZ)

列表.h

#ifndef LIST_H
#define LIST_H
#include "ListElement.h"

class List {
public:

ListElement *head; // wskaźnik na pierwszy element;
ListElement first = NULL; // pierwszy element
int total = 0;

List();

int get(int i);

void addFirstElement(int x);

void addLastElement(int x);

void addRandomElement(int x);

void removeFirstElement();

void removeLastElement();

void removeRandomElement();

private:

};

#endif

列表.cpp

#include "stdafx.h"
#include "List.h"

List::List(){
head = &first;
}

int List::get(int i){ return -1; }

void List::addFirstElement(int x){
ListElement newEl = ListElement(x);
newEl.next = &first;
head = &newEl;
total++;
}

void List::addLastElement(int x){
ListElement* p = first.next;
while (p != NULL){
p = p->next;
}
ListElement newEl(x);
p = &newEl;
}

void List::addRandomElement(int x){
int pos = rand() % total;
//TODO
}

void List::removeFirstElement(){
}

void List::removeLastElement(){
ListElement last = get(total - 1);
delete &last;
total--;
last = get(total - 1);
last.next = NULL;
}

void List::removeRandomElement(){
}

列表元素.h

#ifndef LIST_ELELENT_H
#define LIST_ELEMENT_H

class ListElement{
public:
ListElement(int x);
int data; // wartość
ListElement * next; // wskaźnik następnego elementu
private:
};
#endif

列表元素.cpp

#include "ListElement.h"
ListElement::ListElement(int x){
data = x;
}

我意识到这可能是一个重复的问题,但我找到的答案都没有帮助我解决这个问题。

最佳答案

我猜你忘了将所有 *.cpp 文件链接在一起。

像这样尝试:g++ List.cpp ListElement.cpp YourMain.cpp -o ListProgramm

关于c++ - 构建项目时 Unresolved external symbol 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28929581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com