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