ProcessIndex( int index );
template< typename Iterator >
void ProcessIndexes( Iterator start, Iterator end )
{
while( start!=end )
{
ProcessIndex(*start++);
}
}
Как я могу обеспечить, чтобы эта функция могла быть вызвана только с определенным фиксированным значением типа итератора, например, int
(но любого контейнерного типа)? В этом случае, ProcessIndex()
занимает int
в качестве входных данных, таким образом, компиляция завершается неудачно для непримитивных типов и генерирует предупреждение, например, для float
, Тем не менее, я хотел бы, чтобы декларация int
такой, что компиляция не удалась для всех, кроме int
,
Не нашли «решения» ни здесь, ни где-либо еще, несмотря на все усилия, это тривиально (?).
Задача ещё не решена.
Других решений пока нет …