// { dg-do compile } // Origin: C++ standard, [temp.arg.nontype]/3 template class X { }; int a[10]; struct S { int m; static int s; } s; X<&a[2]> x3; // { dg-error "" } address of array element X<&s.m> x4; // { dg-error "" } address of non-static member X<&s.s> x5; // { dg-error "" } &S::s must be used X<&S::s> x6; // OK: address of static member