{ return seq.endO: } }: int ma

Автор admin Воскресенье, 17 мая 2009 11:32

{ return seq.endO: } }: int mainO { const size_t N = 10: Container^nt. N. Array> container: theData.append(l); theData.append(2); int* p = container.beginO: while(p != container.endO) cout « *p++ « endl: } III:- И снова при объявлении Seq в объявлении Container имена параметров не обязательны, но переменная seq должна объявляться с двумя параметрами, чем и объясняется появление нетипового параметра N на верхнем уровне. Использование аргументов по умолчанию совместно с шаблонами в качестве параметров шаблонов создает определенные проблемы. Когда компилятор анализирует внутренние параметры шаблонов, являющихся параметрами шаблонов, он не рассматривает аргументы по умолчанию, поэтому вам придется повторно перечислить значения по умолчанию для обеспечения точного совпадения. Следующий пример, в котором используется аргумент по умолчанию для шаблона Array с фиксированным размером, показывает, как решается проблема с этой странностью языка: //: C05:TempTemp3.cpp {-bor}{-msc} // Использование шаблонов как параметров шаблонов // совместно с аргументами по умолчанию #i nclude #i nclude using


Комментарии закрыты.