http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56794
Bug #: 56794 Summary: C++11 Error in range-based for with parameter pack array Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: bisq...@iki.fi G++ 4.7.2 and 4.8.0 give the following error message for the for-loop in below code: tmp.cc:10:17: error: range-based 'for' expression of type 'const int []' has incomplete type On G++ 4.6.3 (and Clang++), it compiles fine. Regression? template<int... values> static void Colors() { static const int colors[] = { values... }; // ^ This version passes in G++ 4.6 and Clang++ 3.0, fails in G++ 4.7 and 4.8 //static const int colors[sizeof...(values)] = { values... }; // ^This passes in all of them for(auto c: colors) { } // ^ This line is the one that gets the error message } int main() { Colors<0,1,2> (); }