| // PR c++/51723 | |
| // { dg-do compile { target c++11 } } | |
| template <int... V> | |
| struct A | |
| { | |
| static constexpr int a[sizeof...(V)] = { V... }; | |
| }; | |
| template <int... V> constexpr int A<V...>::a[]; | |
| struct B | |
| { | |
| const int* const b; | |
| template <unsigned int N> | |
| constexpr B(const int(&b)[N]) | |
| : b(b) | |
| { } | |
| template <int... V> | |
| constexpr B(A<V...>) | |
| : B(A<V...>::a) | |
| { } | |
| }; | |
| constexpr B b1 = A<10, 20, 30>::a; | |
| constexpr B b2 = A<10, 20, 30>(); |