http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54320
--- Comment #13 from Daniel Krügler <daniel.kruegler at googlemail dot com> --- (In reply to Paolo Carlini from comment #10) FWIW, I fully agree with Jason: VLAs are very restricted and don't even allow for forming references to them, so that the standard library won't even try to provide begin()/end() overloads for them. You should use the new std::dynarray<T> type instead for such support.