stl: непонятная ошибка при объявлении вектора итераторов

Подскажите, в чём дело - глаза вообще замыленные, не вижу:

template<class ICustomStatistics>
class СPeriodicStatistics : public IBaseStatistics
{
protected:

    using statistics_block_pr = std::pair<double, ICustomStatistics>;
    using statistics_blocks_t = std::vector<statistics_block_pr>;

    using statistics_links_t = std::vector<statistics_blocks_t::iterator>; // <- тут выдаётся ОШИБКИ 1, 2

protected:
    statistics_links_t                      m_statisticsLinks; // <- ОШИБКА 3
};

В результате выдаются ошибки:

для первой строчки с ошибками:

Error C2976 'std::vector': too few template arguments

Error C2923 'std::vector': 'std::vectorstd::pair<double,ICustomStatistics,std::allocatorstd::pair<double,ICustomStatistics>>::iterator' is not a valid template type argument for parameter '_Ty'

для второй строчки с ошибками:

Error C2955 'std::vector': use of class template requires template argument list


Ответы (0 шт):