Here's Microsoft's explanation:
- Unspecialized class template can't be used as a template argument in a base class list
- Compiler Error C3203
Say you have a class definition something like below. Pay attention to the text in bold.
template <class TItem = CCustomTabItem>
class CDotNetButtonTabCtrl :
public CCustomTabCtrl<CDotNetButtonTabCtrl, TItem>
Change the code to below so it will compile, and your C3203 compile errors will disappear.
template <class TItem = CCustomTabItem>
class CDotNetButtonTabCtrl :
public CCustomTabCtrl<CDotNetButtonTabCtrl<TItem>, TItem>