Problem with gcc 4.0.1
Paolo Bonzini
paolo.bonzini@lu.unisi.ch
Wed Sep 21 08:51:00 GMT 2005
Ernest L. Williams Jr. wrote:
> Hi,
>
> The following code fragment is now causing problems under gcc 4.0.1
> Everything is perfect under "gcc version 3.4.3"
> Any recommended work-arounds?
> ================= code fragment======================================
> #ifndef __LOC_PV_FACTORY_H__
> #define __LOC_PV_FACTORY_H__
>
> line 10 --> #include "pv_factory.h"
> line 11 -->
> line 12 --> class LOC_PV_Factory : public PV_Factory
> line 13 --> {
> line 14 --> public:
> line 15 --> LOC_PV_Factory();
> line 16 --> ~LOC_PV_Factory();
> line 17 --> ProcessVariable *create(const char *PV_name);
> line 18 --> private:
> line 19 --> friend class LOC_ProcessVariable;
> line 20 --> static void forget(LOC_ProcessVariable *pv);
> line 21 --> };
GCC was incorrectly accepting this code. You should add a declaration
of class LOC_ProcessVariable outside class LOC_PV_Factory, either
through its include file or with a forward declaration ("class
LOC_ProcessVariable;").
By the way, the correct list to ask would have been gcc-help@gcc.gnu.org
(this one is for development "of" GCC, not "with" GCC).
Paolo
More information about the Gcc
mailing list