首先 为什么写这个博客,前几日遇到了一个问题,就是在用类模板写堆的时候,出现了这个问题,当时花了好久,解决了那个问题,今天在看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