On Wednesday 09 July 2003 07:20 pm, Daniel Stone wrote: > Hi guys, > When I try the "p->template Release ();" workaround suggested in > http://bugs.debian.org/198042 (from http://bugs.gcc.org/PR11444), I get > ../include/ccom.h: In destructor `CPtr<T>::~CPtr()': > ../include/ccom.h:74: error: syntax error before `;' token
That's true here, but it's because your code is invalid :-) What happens is that you use CPtr<CWord1> before CWord1 is declared (except for a forward declaration). You see that if you try to change (for test purposes) CPtr<T>::~CPtr() to ~CPtr() { if (p) { T t; p->Release(); } } Then you'll get qparser.ii:18929: error: `t' has incomplete type qparser.ii:18929: error: storage size of `t' isn't known qparser.ii:18930: error: `Release' undeclared (first use this function) (and a host of other errors later on, but this one is for T=CWord1). So change the order of declarations of your classes (and the use of CPtr<CWord1>) and it should work just fine. W. ------------------------------------------------------------------------- Wolfgang Bangerth email: [EMAIL PROTECTED] www: http://www.ices.utexas.edu/~bangerth/