1 // Build don't link:
2
f(auto X (* x)[n])3 template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
4 extern int i[30];
5 extern double d[99];
6
foo(int ii)7 int foo (int ii) { return f (&i); } // causes abort
foo(double dd)8 double foo (double dd) { return f (&d); }
9