Czy (w C ++ 11) std :: vector :: resize (size_type) działa dla domyślnego konstruktywnego typu value_ty int [4]?

W C ++ 11 istnieją dwie wersjestd::vector::resize():

void resize( size_type count );
void resize( size_type count, const value_type& value);

Rozumiem (jak sugeruje jeden z komentarzy do jednej z odpowiedzi nato pytanie) że wymaga tego pierwszyvalue_type być domyślnie konstruktywnym, podczas gdy drugi wymaga, aby był konstruktywny. Jednak (gcc 4.7.0)

using namespace std;
typedef int block[4];
vector<block> A;
static_assert(is_default_constructible<block>::value,";-("); //  does not fire
A.resize(100);                                               //  compiler error

Więc albo moje zrozumienie było błędne, albo gcc jest błędne. Który?

questionAnswers(2)

yourAnswerToTheQuestion