STL asignación de contenedores y punteros constantes

Esto compila:

int* p1;
const int* p2;
p2 = p1;

Esto no lo hace

vector<int*> v1;
vector<const int*> v2;
v2 = v1;  // Error!
v2 = static_cast<vector<const int*> >(v1);  // Error!

¿Cuáles son las reglas de equivalencia de tipo para punteros constantes anidados? Pensé que la conversión sería implícita. Además, prefiero no implementar la asignación puntual de contenedores STL, a menos que realmente tenga que hacerlo.

Respuestas a la pregunta(16)

Su respuesta a la pregunta