// { dg-do compile } class A {}; class B : public A {}; template class C {}; template class D {}; template class E {}; template void f(D &, C(b)> &) {} // { dg-error "" "" { target c++98 } } template void g(D &, E(b)> &) {} // { dg-error "" "" { target c++98 } } B b; int main() { C(&b)> c; // { dg-error "" } D<&b> d; E(&b)> e; // { dg-error "" "" { target c++98 } } f(d, c); // { dg-error "" "" { target c++11 } } g(d, e); }