如何解决LNK2019-未解决的外部符号错误
编译主类时遇到问题。
//main.cpp
#include "Division.h"
int main() {
Division Root;
}
这是我的部门。h
//Division.h
#pragma once
#include <string>
#include <windows.h>
class Division {
public:
Division();
Division(std::string Name,std::string PhoneNumber,std::string Description,Division& Parent);
private:
UUID GUID;
std::string Name;
std::string PhoneNumber;
std::string Description;
Division* Parent;
};
这是我的Division.cpp
#include <string>
#include <windows.h>
using namespace std;
class Division {
public:
Division() {};
Division(string Name,string PhoneNumber,string Description,Division &Parent) {
UuidCreate(&GUID);
this->Name = Name;
this->PhoneNumber = PhoneNumber;
this->Description = Description;
this->Parent = &Parent;
}
private:
UUID GUID;
string Name;
string PhoneNumber;
string Description;
Division* Parent;
};
在主类中,我只想使用第一个构造函数创建一个空的Division对象。 为什么会出现链接器错误?我在做什么错了?
解决方法
您已经在头文件和cpp文件中两次声明了Division。
您应该只在标题中声明。
.cpp文件中包含标题并定义方法
Division::Division() {}
Division::Division(std::string name,std::string phoneNumber,std::string description,Division &parent) {
UuidCreate(&GUID);
Name = name;
PhoneNumber = phoneNumber;
Description = description;
Parent = &parent;
}
对于成员变量使用除参数之外的其他名称也很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。