#include<iostream>
#include <vector> 
using namespace std;template<class T> T compare_values(T a, T b)
{
return( (a > b) ? a : b );
}
extern float compare_values(float a, float b);
extern int compare_values(int a, int b);
extern long compare_values(long a, long b);void main(void)
{
float a = 1.2345, b = 2.34567;
cout << "Comparing "  << a << ' ' << b << ' '<<  compare_values(a, b) << endl;
int c = 1, d = 1001;
cout << "Comparing " << c << ' ' << d << ' '<<  compare_values(c, d) << endl;
long e = 10100101L , f = 2020202L;
cout << "Comparing " << e << ' ' << f << ' ' <<  compare_values(e, f) << endl;
}用VS2005 VC++ 编译出现: 错误提示错误 1 error LNK2019: 无法解析的外部符号 "long __cdecl compare_values(long,long)" (?compare_values@@YAJJJ@Z),该符号在函数 _main 中被引用 compare.obj