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 [EMAIL PROTECTED] (this one is for development "of" GCC, not "with" GCC).

Paolo

Reply via email to