[Bug c++/56679] New: [C++11] Cannot take sizeof... a template template parameter pack

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 21 15:22:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56679

             Bug #: 56679
           Summary: [C++11] Cannot take sizeof... a template template
                    parameter pack
    Classification: Unclassified
           Product: gcc
           Version: 4.6.4
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: redi@gcc.gnu.org


All versions from 4.4 to trunk reject this:

  template <template <typename> class... Args>
  struct Foo {
    static const int value = sizeof...(Args);
  };

  template <typename> struct Bar { };

  const int test = Foo<Bar>::value;


v.cc:3:44: error: missing template arguments before ')' token
     static const int value = sizeof...(Args);
                                            ^


Clang and ICC compile it ok.



More information about the Gcc-bugs mailing list