Вы еще не предоставили полный дамп ошибок, и ваш опубликованный код явно является выдержкой, поэтому я собираюсь указать на некоторые вещи, которые могут быть уже рассмотрены.
Убедитесь, что вы включили vector и iostream.
#include <vector>
#include <iostream>
Вы явно предоставляете пространство имен std, когда ссылаетесь на вектор, а не когда используете cout. У вас есть "использование пространства имен std;" где это возможно? Если нет, то вам нужно
std::cout<<*it1<<*it2; //just an example
Store еще не определил const_iterator, поэтому ваши определения it1 и it2 недействительны. Вам нужен либо typedef, либо оператор using в публичном разделе Store:
public:
using const_iterator = typename StoreT::const_iterator;
Кроме того, вам не хватает ключевого слова typename и некоторых точек с запятой.
typename StoreT::const_iterator begin() {return data.begin();}
typename StoreT::const_iterator end() {return data.end();}
Можно ли предположить, что t1 и t2 оба определены где-то?