5
ProcessIndex( int index );

template< typename Iterator >
void ProcessIndexes( Iterator start, Iterator end )
{
    while( start!=end )
    {
        ProcessIndex(*start++);
    }
}

intこの関数を特定の固定イテレータ値型(ただし、任意のコンテナ型)でのみ呼び出すことができるようにするにはどうすればよいですか?この場合、ProcessIndex()int入力として受け取るため、非プリミティブ型のコンパイルは失敗し、たとえばの警告が生成されfloatます。intただし、を除くすべてのコンパイルが失敗するように宣言を強制したいと思いますint

良い努力にもかかわらず、ここや他の場所で「解決策」を見つけられませんでしたが、それは些細なことですか(?)。

4

2 に答える 2