汎用クラスで指定する汎用型や非汎用型の引数でもデフォルト引数を使うことができる。
#include <iostream> using namespace std; template <class T=int, int num=10> class Test { T mValue[num]; public: Test() { for(int i=0; i<num; i++) mValue[i] = i; } T get(int i) { return mValue[i]; } }; void main() { Test<> obj; cout << obj.get(3) << endl; }