.net2003で、C++を勉強し始めて2日目になります。

テンプレートメソッドパターンの勉強中なんですが、
#include<iostream>

template <class T,T>
T ave(T a,T b) {
return (a + b) / 2;
}
main() {
using namespace std;
cout << ave<int,int>(1203, 3344) << endl;
}

とすると、
Question.cpp
Question.cpp(11) : error C2975: 'ave' : 'function-parameter' に対するテンプレート引数が無効です。コンパイル時に評価可能
な定数式が必要です。
Question.cpp(4) : 'ave' の宣言を確認してください。

と出てしまいます。
文法的に正しくするとしたら、どうすればいいですか。