http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54299
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-17 15:43:02 UTC --- It would be nice if G++ told you the type of the range, as Clang++ does: a.cc:9:15: error: use of undeclared identifier 'begin' for (auto i : arr) ^ a.cc:9:15: note: range has type 'int *'