微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LNK2019-未解决的外部符号错误

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?