Loading [MathJax]/jax/element/mml/optable/BasicLatin.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VS2015无法解析外部符号

VS2015无法解析外部符号

作者头像
全栈程序员站长
发布于 2022-09-13 07:24:46
发布于 2022-09-13 07:24:46
5.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

在使用VS编辑C++时,遇到了无法解析外部符号的错误

严重性 代码 说明 项目 文件 行 错误 LNK2019 无法解析的外部符号 “public: __thiscall Employee::Employee(void)” (??0Employee@@QAE@XZ),该符号在函数 “public: __thiscall manager::manager(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)” (??0manager@@QAE@HV?

严重性 代码 说明 项目 文件 行 错误 LNK2019 无法解析的外部符号 “public: __thiscall Employee::~Employee(void)” (??1Employee@@QAE@XZ),该符号在函数 __unwindfunclet??0manager@@QAE@HV?basic_string@DU?chartraits@D@std@@V?allocator@D@2@@std@@@Z

网上找了下解决方法,收藏一个http://blog.csdn.net/enotswn/article/details/5934938

后来发现是虚函数写的有问题

错版:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Employee
{
protected:
	int No;
	string name;
	float salary;
	static int totalNo;     // 自动计算员工编号
public:
	Employee()
	{
		++Employee::totalNo;
	}//自动计算员工编号,姓名从键盘输入,工资初值为0
	~Employee()
	{
		--Employee::totalNo;
	}
	virtual void pay();        //计算月薪
	virtual void display();      //显示人员信息
};	int No;
	string name;
	float salary;
	static int totalNo;     // 自动计算员工编号
public:
	Employee()
	{
		++Employee::totalNo;
	}//自动计算员工编号,姓名从键盘输入,工资初值为0
	~Employee()
	{
		--Employee::totalNo;
	}
	virtual void pay();        //计算月薪
	virtual void display();      //显示人员信息
};

正确:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Employee
{
protected:
	int No;
	string name;
	float salary;
	static int totalNo;     // 自动计算员工编号
public:
	Employee()
	{
		++Employee::totalNo;
	}//自动计算员工编号,姓名从键盘输入,工资初值为0
	~Employee()
	{
		--Employee::totalNo;
	}
	virtual void pay() = 0;        //计算月薪
	virtual void display() = 0;      //显示人员信息
};
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Employee
{
protected:
	int No;
	string name;
	float salary;
	static int totalNo;     // 自动计算员工编号
public:
	Employee()
	{
		++Employee::totalNo;
	}//自动计算员工编号,姓名从键盘输入,工资初值为0
	~Employee()
	{
		--Employee::totalNo;
	}
	virtual void pay(){}//计算月薪
	virtual void display(){}//显示人员信息
};

问题在于自己没有分清虚函数和纯虚函数的使用方法。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/153465.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C++面向对象实例员工工资
编写程序,定义一个表示基本员工的基类Employee,他包含三个表示员工基本信息的成员:
Twcat_tree
2022/11/30
3640
关于各种无法解析的外部符号问题的相应解决方案
在使用vs2008调试程序的过程中,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验. 仅供参考.
全栈程序员站长
2022/09/13
1K0
C++:无法解析的外部符号问题 与 头文件包含注意要点
由于种种原因,很长时间没有完整地编写一个C++程序。近期编写的程序都是简单地算法实现程序和简略的模拟程序,对于C++的许多特性都变得模糊不清。为了完成暑假的操作系统大作业——文件系统的模拟实现,从0开始写一个完成的程序。开始都进行得十分顺利,但编写完主要的头文件与cpp文件后,准备开始测试函数,进行Debug时,VS却提示大量错误信息,其中大都是:无法解析的外部符号。几天(暑假时间,不是没天都有大量时间认真编程,见笑了)时间过去后,尝试了多种解决方法终于找到了问题所在。于是有了写下搜寻过程的想法,要是有人能看这篇文章快速解决自己的问题,那就更好了。 结论:真正引起的错误的原因在于头文件的包含是否得当!
全栈程序员站长
2022/09/13
6.3K0
【C++】泛型编程 ⑪ ( 类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 )
在博客 【C++】泛型编程 ⑨ ( 类模板的运算符重载 - 函数声明 和 函数实现 写在同一个类中 | 类模板 的 外部友元函数问题 ) 中实现了第一种情况 , 类模板 的 函数声明 与 函数实现 都写在同一个类中 , 也就是没有分开进行编码 ;
韩曙亮
2023/11/23
4320
【C++】泛型编程 ⑪ ( 类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 )
【Chromium】如何提取Chromium的Base库(下)
本篇文章主要记录如何从Chromium中提取Base库,方便后续的学习和使用,同时抛砖引玉,希望带给各位一些启发和帮助。
lealc
2024/04/17
4900
【Chromium】如何提取Chromium的Base库(下)
C++实例员工信息
假设某销售公司有一般员工、销售员工和销售经理。月工资的计算办法是: 一般员工月薪=基本工资; 销售员工月薪=基本工资+销售额提成率; 销售经理月薪=基本工资+职务工资+销售额提成率。 编写程序,定义一个表示一般员工的基类Employee,它包含三个表示员工基本信息的数据成员:编号 number、姓名name和基本工资basicSalary。 由Employee类派生销售员工Salesman类,Salesman类包含两个新数据成员:销售额sales和静态数据成 员提成比例commrate。 再由Salesman类派生表示销售经理的Salesmanager类。Salesmanager类包含新数据成员:岗位工资 jobSalary。 为这些类定义初始化数据的构造函数,以及输入数据input、计算工资pay和输出工资条print的成员函 数。 设公司员工的基本工资是2000元,销售经理的岗位工资是3000元,提成率=5/1000。在main函数中, 输入若干个不同类型的员工信息测试你的类结构。
Twcat_tree
2022/11/30
4590
vs2010 lnk2019无法解析的外部命令_vs无法解析的外部符号
最近在研究sumo,前几天将编译环境都搭建好了后,自己在解决方案的基础上新增加了一个项目,但是突然冒出来好多问题,其他都已经通过网络搜索解决。关于错误:error LNK2019 :无法解析的外部符号。网络方法很多,自己按照各种方法测试后依然不能解决。最后想到,和已经编译好的项目配置一项一项的作对比,来看看到底哪里出错了。因为根据错误提示,是两个cpp文件中的函数定义被引用。
全栈程序员站长
2022/11/10
2.3K0
vs2010 lnk2019无法解析的外部命令_vs无法解析的外部符号
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】
YY的秘密代码小屋
2024/01/23
1580
无法解析的外部符号问题小结
问题1:在编写通信相关程序中,引用了一个静态库(该静态库编译没有问题,并被其他项目引用),该库是对SOCKET的一个封装。基本结构如下:
全栈程序员站长
2022/09/13
3.3K0
无法解析的外部符号问题小结
无法解析的外部符号 “__declspec(dllimport)
用户3519280
2023/07/08
1.3K0
MySQL学习笔记【基础篇】
1、DB:数据库,保存一组有组织的数据的容器 2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据 3、SQL:结构化查询语言,用于和DBMS通信的语言
_DIY
2020/08/19
2.2K0
MySQL学习笔记【基础篇】
无法解析的外部符号 “void __cdecl boost::detail::set_tss
error LNK2019: 无法解析的外部符号 “void __cdecl boost::detail::set_tss_data(void const ,void (__cdecl)(void (
用户3519280
2023/07/06
3510
C++基础语法简单介绍(二) -- C with classess
用户10859876
2025/01/15
1050
Visual Studio下程序开发: error LNK2019: 无法解析的外部符号
产生问题环境: 在Visual Studio 2017下开发QT程序,引用了ffmpeg库实现视频播放器开发。
DS小龙哥
2022/01/17
3.4K0
Visual Studio下程序开发: error LNK2019: 无法解析的外部符号
018.访问者模式
现在有这样一个需求,我要把公司中的所有人员信息都打印汇报上去,每一个员工都有这些信息:名字、性别、薪水,我们来看类图:
CoderJed
2021/01/06
3810
lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令
3.点击“键入或选择新平台”下拉框,选”x64″,然后点击“确定”
全栈程序员站长
2022/11/08
1.9K0
lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令
C++常见面试题
1. 声明一个 circle 类,有数据成员 Radius(半径,float型),成员函数 GetArea() 计算圆的面积,在main 函数中声明一个cirlce类的对象 c1,其半径为 5.6,调用 GetArea() 函数计算 c1的面积,并显示该计算结果。
越陌度阡
2020/11/26
5680
SQL面试 100 问
本文介绍并分析了 100 道常见 SQL 面试题,主要分为三个模块:SQL 初级查询、SQL 高级查询以及数据库设计与开发。
FunTester
2022/12/09
2.6K0
阶段02JavaWeb基础day04mysql
数据仓库.就与我们之前学过的纯文本,properties这些技术一样.用来保存数据.并提供对数据进行增删改查的操作.我们以后做项目时, 项目中的数据都是保存在数据库中的. //-------------------------------------------------------------------- 为什么要用数据库,数据库的特点 1>实现数据共享
对弈
2019/09/04
4740
C++实例员工工资系统
此章节学习了虚函数和动态联边 用抽象类实现一下员工工资的简易系统 代码如下: #include<iostream.h> #include<string.h> #include<assert.h> #include<iomanip.h> class employee { public: employee(const long, const char*); virtual ~employee(); const char*getname()const; const long getnumber(
Twcat_tree
2022/11/30
4520
推荐阅读
相关推荐
C++面向对象实例员工工资
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档