compile error on template using gcc 3.4.4 that worked for gcc 3.3.x
Karl Kobata
karl.kobata@syncira.com
Wed May 9 03:22:00 GMT 2007
Can anyone help? Can anyone suggest source code change?
Thanks
karl
________________________________________
From: Karl Kobata [mailto:karl.kobata@syncira.com]
Sent: Sunday, May 06, 2007 10:45 PM
To: 'gcc-help@gcc.gnu.org'
Subject: compile error on template using gcc 3.4.4
Can anyone help me. I am getting the error messages below for the source
snippet included. On the previous version of gcc, this error did not occur.
What defaults were assumed on the previous version of the compiler?
Please help. Please suggest source changes.
Thanks
karl
============== source that is erroring ===============
36 template<class T> class OutputBuffer : public Buffer<T> {
37 public:
38 virtual int Flush() = 0;
39 virtual int Put(const T& t) { *pt++ = t; return pt >= end ? Flush() :
0; }
40 OutputBuffer(unsigned int sz):Buffer<T>(sz) { pt = base; }
41 OutputBuffer(T* b, unsigned int sz):Buffer<T>(b, sz) { pt = base; }
42 OutputBuffer() { pt = base; }
43 ~OutputBuffer() {}
44 };
========== error messages using gcc 3.4.4 =================
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:39: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:39: error:
`end' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`OutputBuffer<T>::OutputBuffer(unsigned int)':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:40: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:40: error:
`base' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`OutputBuffer<T>::OutputBuffer(T*, unsigned int)':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:41: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:41: error:
`base' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`OutputBuffer<T>::OutputBuffer()':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:42: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:42: error:
`base' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In member
function `virtual int InputBuffer<T>::Get(T&)':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:51: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:51: error:
`end' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`InputBuffer<T>::InputBuffer(unsigned int)':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:53: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:53: error:
`end' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`InputBuffer<T>::InputBuffer(T*, unsigned int)':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:54: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:54: error:
`end' undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h: In constructor
`InputBuffer<T>::InputBuffer()':
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:55: error: `pt'
undeclared (first use this function)
/home/AppsTest/MGen/MgenLibrary/aeg/include/generic/buffer.h:55: error:
`end' undeclared (first use this function)
=========
More information about the Gcc-help
mailing list