ProcessIndex( int index );
template< typename Iterator >
void ProcessIndexes( Iterator start, Iterator end )
{
while( start!=end )
{
ProcessIndex(*start++);
}
}
int
この関数を特定の固定イテレータ値型(ただし、任意のコンテナ型)でのみ呼び出すことができるようにするにはどうすればよいですか?この場合、ProcessIndex()
はint
入力として受け取るため、非プリミティブ型のコンパイルは失敗し、たとえばの警告が生成されfloat
ます。int
ただし、を除くすべてのコンパイルが失敗するように宣言を強制したいと思いますint
。
良い努力にもかかわらず、ここや他の場所で「解決策」を見つけられませんでしたが、それは些細なことですか(?)。