Должен ли (в C ++ 11) std :: vector :: resize (size_type) работать для конструктивного значения по умолчанию int_4 [4]?

В C ++ 11 есть две версииstd::vector::resize():

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

Я понимаю (как предложено в одном из комментариев к одному из ответов наэтот вопрос) что первое требуетvalue_type быть конструируемым по умолчанию, в то время как второй требует, чтобы он был копируемым. Однако (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

Так что либо мое понимание неверно, либо gcc глючит. Который?

Ответы на вопрос(2)

Ваш ответ на вопрос