ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1、error LNK2019: 无法解析的外部符号"struct ********"

2022-07-26 20:35:14  阅读:223  来源: 互联网

标签:LNK2019 target 函数 free source 报错 error throws struct


一、C++ 错误类型 :error LNK2019 无法解析的外部符号

**注:本人用的编译器版本:VS2015

C++中报 error LNK2019、LNK2001、......等类型的错误,对刚接触C++的同学来说是一件非常令人头疼的事情,因为造成此类问题的原因非常多,这里只讲本人报错的一种原因。

二、报错截图

三、报错原因

1、本人是因为函数声明  accumulate 与函数实现名 acculate 称不一致导致报 error LNK2019 错。

2、在声明函数  accumulate(......)  的时候,未将该函数实现,导致报错,这是造成  error LNK2019 错误原因的一种;

报错前的代码:

 1 free_throws& accumulate(free_throws& target, const free_throws& source);   // 函数声明
 2 
 3  int main()    // 主函数
 4  {
 5      ...........
 6  }
 7 
 8 free_throws& acculate(free_throws & target, const free_throws & source)   // 函数实现
 9  {
10      target.attempts += source.attempts;
11      target.made += source.made;
12      set_pc(target);
13      return target;
14 }

四、解决办法

1.首先检查所声明的所有函数都有没有实现;

2.检查声明函数与实现函数的函数名、参数列表、返回值是否一致;

3.检查后期自己是否有修改过函数名,导致声明函数名与实现函数名不一致

修改后的代码:

 1 free_throws& accumulate(free_throws& target, const free_throws& source);   // 函数声明
 2 
 3 int main()    // 主函数
 4 {
 5     ...........
 6 }
 7 
 8 free_throws& accumulate(free_throws & target, const free_throws & source)   // 函数实现
 9 {
10     target.attempts += source.attempts;
11     target.made += source.made;
12     set_pc(target);
13     return target;
14 }

五、总结

此类错误不太容易发现,读者在敲代码时尽量细心,犯错之时,要学会总结,利用好手上的工具。

希望可以帮助到各位!

标签:LNK2019,target,函数,free,source,报错,error,throws,struct
来源: https://www.cnblogs.com/xcbb/p/16522095.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有