
Peter Dimov wrote:
Markus Schöpflin wrote:
Hmm, have a look at this:
---%<--- template <class T> struct foo { void bar() { foobar(); } };
This call to foobar is not dependent on T. Try
template <class T> struct foo { void bar( T * p ) { foobar( p ); } };
OK, what about this: ---%<--- template <class T> struct foo { T *p; void bar() { foobar(p); } }; void foobar(int *p) {} void argl() { foo<int> f; f.bar(); } --->%--- I think this resembles the situation at hand now. I still get: ---%<--- "ComeauTest.c", line 3: error: identifier "foobar" is undefined void bar() { foobar(p); } ^ detected during instantiation of "void foo<T>::bar() [with T=int]" at line 10 --->%--- And it works if you insert 'void foobar(int *p);' before struct foo. Markus