Почему вы пытаетесь наследовать от вектора? Это вызовет у вас много проблем. Наименее из которых является то, что вектор не имеет виртуального деструктора. Это приведет к тому, что при удалении полиморфной ссылки на ваш класс будет вызван неправильный деструктор, что приведет к утечкам памяти или общему плохому поведению.
Например, следующий код не будет вызывать ~ Vec (), а будет вызывать ~ vector ().
vector<int> *pVec = new Vec<int>();
delete pVec; // Calls ~vector<T>();
Фактическая ошибка компиляции, которую вы видите, заключается в том, что вы используете синтаксис шаблона для вызова базового конструктора. Просто удалите это, и оно должно скомпилировать
Vec() : vector() {}