C++中关于无法无法解析外部错误的解决方案

这篇博客探讨了在C++编程中遇到的'无法解析的外部符号'错误,特别是在使用类模板和函数指针时。作者通过示例代码展示了错误情况,并提出了解决方案——确保所有函数都有实现,特别是当涉及到模板类或方法时,需要实例化。建议将模板类和实现放在一起以避免链接错误。
摘要由CSDN通过智能技术生成

首先 为什么写这个博客,前几日遇到了一个问题,就是在用类模板写堆的时候,出现了这个问题,当时花了好久,解决了那个问题,今天在看C++Primer Plus的时候在函数指针的时候,出现了相同的问题。

下面上代码

#include<iostream>
using namespace std;
const double *f1(const double ar[], int n);
const double *f2(const double [],int);
const double *f3(const double *,int);

void main()
{
	const double *(*p1)(const double ar[], int n) = f1;
	auto p2 = f2;
	const double *(*p[3])(const double ar[],int n) = {f1,f2,f3};
	auto pb = p;
	cout<<p1<<endl<<p2<<endl<<pb[1]<<" "<<pb[2]<<" "<<pb[3]<<endl;
}
/*const double *f1(const double ar[], int n)
{
	return ar;
}
const double *f2(const double ar[], int n)
{
	return ar+1;
}
const double *f3(const double ar[], int n)
{
	return ar+2;
}
*/
这个会出现

1>C++.obj : error LNK2019: 无法解析的外部符号 "double const * __cdecl f3(do

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值