}#include "stdafx.h" #include <iostream> using namespace std; template <typename T> T max(T a,T b,T c) { if (a<b) a=b; if (a<c) a=c; return a; } int _tmain(int argc, _TCHAR* argv[]) { int a=1,b=3,c=2,d; float m=0.5,n=0.7,q=0.1,p; d=max(a,b,c); cout<<d<<endl; p=max(m,n,q); cout<<p<<endl; return 0; } VC6 是不是不支持这样的函数模板,网上查了一下,好像类模板是支持的。以上简单代码在VC6下不能通过,VS2008下可以。 另外函数模板只能用在函数参数个数相同的情况,比函数重载简洁。