1、error LNK2019: 无法解析的外部符号“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 }

五、总结

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

希望可以帮助到各位!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Erudite_x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值