void*
может указывать на любой из них, но перед использованием должен быть приведен к правильному типу.
Типизированный указатель может указывать только на указанный тип, включая типы, наследуемые от него.Разные специализации vector
являются разными типами и не имеют общего базового класса, поэтому ни один типизированный указатель не может указывать на оба из них.
Если это действительно то, что вам нужно сделать, вы могли бы изучить использование различного объединения, такого как boost::variant
, для хранения различных типов указателей.