http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60873
Bug ID: 60873 Summary: C++11: template class with const member and default ctor should fail to compile? Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: sebastian.heg...@tu-dresden.de Consider this minimal example: template <typename T> struct A { const T s_; A() = default; A(const T& s) : s_(s) {}; }; int main() { A<bool> b(true); }; Now, A has a default ctor which isn't used, but AFAIK simply defining it as default violates the standard, so clearly, my code is buggy. I wonder, however, if gcc should reject the code, as ICC 2013 does: error #409: "A<T>::A() [with T=bool]" provides no initializer for: const member "A<T>::s_ [with T=bool]" A<bool> b(true); Thanks!