スキップする要素の数のテンプレートパラメーターを使用して、単純な「スキップイテレーター」を作成しようとしています。
template <typename T, typename Iter, int Skip>
class SkipIterator
{
public:
SkipIterator(Iter baseIter) :
baseIter_(baseIter)
{
}
void operator++()
{
baseIter_ += Skip;
}
T &operator*()
{
return *baseIter_;
}
private:
Iter baseIter_;
};
Iter
次のようなベースとT
タイプを推測できるようにしたいと思います。
std::vector<double> dataFromSomewhere;
SkipIterator<3> skipper(dataFromSomewhere.begin())
しかし、コンパイラ (VS2010) は「テンプレート引数が少なすぎます」というエラーを出します。
これを行う方法はありますか?