| // { dg-do run } |
| // PRMS Id: 1502 |
| // Bug: g++ fails to resolve 'gnc' in the call to 'grid'. |
| |
| template<class T> class foo { |
| public: |
| foo() { } |
| }; |
| |
| template<class T> class bar : public foo<T> { |
| public: |
| bar() : foo<T>() {} |
| }; |
| |
| template<class T> class ben : public foo<T> { |
| public: |
| ben() : foo<T>() {} |
| void grid(T (*f)(bar<T>&),bar<T>& x,bar<T>& y,bar<T>& param); |
| }; |
| |
| template<class T> void ben<T>::grid(T (*f)(bar<T>&),bar<T>& x,bar<T>& y,bar<T>& param) { } |
| |
| template<class T> T gnc(bar<T>& a) |
| { |
| return 0; |
| } |
| |
| int main() |
| { |
| ben<double> a; |
| bar<double> x,y,p; |
| a.grid(gnc,x,y,p); |
| return 0; |
| } |