Declaración directa de objetos con contenedores STL
Considere el siguiente fragmento de código, donde la primera línea sirve solo como declaración directa
class A;
seguido de definir una nueva clase
class B
{
vector<A> Av; //line 1
map<int, A> Am; //line 2
pair<int, A> Ap; //line 3
};
la línea 1 y la línea 2 parecen estar bien con la declaración directa (que puede decirme que esos contenedores usan el tipo de implementación de puntero) donde la línea 3 no parece compilarse en VS2012.
Mi pregunta es ese comportamiento dictado por el estándar o específico del compilador que estoy usando.
Gracias