Sun Studio 12: C++ User's Guide

6.5 Default Template Parameters

You can give default values to template parameters for class templates (but not function templates).


template <class Elem = int> class Array;
template <unsigned Size = 100> class String;

If a template parameter has a default value, all parameters after it must also have default values. A template parameter can have only one default value.