/************************************************************************ *
The following example shows a valid template declaration
with default initializers:
* ************************************************************************/
// This example shows a template declaration // with default initializers. #include <stdio.h> template <class T, int i=1> class X { public: T s; X(int j=4); int val(T&) { return i; }; }; template <class T, int i> X<T,i>::X(int j):s(i){ printf("i=%d j=%d\n",i,j); } void main() { X<int> myX(2); X<int,3> myX2(4); }