1 // { dg-do run { target c++14 } } 2 3 #include <cassert> 4 5 constexpr int n = 10; 6 7 struct A { 8 constexpr operator const int*() const { 9 return data; 10 } 11 12 constexpr operator int*() { 13 return data; 14 } 15 16 private: 17 int data[n]; 18 }; 19 f()20constexpr A f() { 21 A a{}; 22 for (int i = 1; i <= n; i++) { 23 a[i] = i; 24 } 25 return a; 26 } 27 28 A a = f(); 29 main()30int main() 31 { 32 for (int i = 0; i < n; i++) { 33 assert (a[i] == i); 34 } 35 } 36