1 2 3 4 5 6 7 8 9 10 11 12 13 14
// PR c++/58080 // { dg-do compile { target c++11 } } template<class A, class B> struct Eval { void foo(A a, B b) { bar(a,b, 0); } auto bar(A a, B b, decltype(a+b)* _) -> decltype(a+b) { return a+b; } // { dg-error "pointer" } }; int main() { Eval<int,void*> eiv; eiv.foo(0,0); }