Программист может выбрать определение типа определенного экземпляра шаблона, который должен использоваться только с этим типом. Один тип может иметь <int,int,bool>
, другой тип может <float, bool string>
, и программист не хочет, чтобы они были конвертируемыми. Базовая структура такая же, но они не конвертируемые.
Это как:
struct ABC
{ int a,b;};
struct XYZ
{ int a,b;};
Оба типа одинаковы, но ABC
не конвертируется в XYZ
и наоборот. Многие из дескрипторов Windows объявлены через DECLARE_HANDLE
и не конвертируются.