diff --git a/src/libCom/cxxTemplates/epicsSingleton.h b/src/libCom/cxxTemplates/epicsSingleton.h index a71f6bdd5..e63dba028 100644 --- a/src/libCom/cxxTemplates/epicsSingleton.h +++ b/src/libCom/cxxTemplates/epicsSingleton.h @@ -57,8 +57,8 @@ public: const TYPE * operator -> () const throw () { - epicsSingleton::reference & ref = - const_cast < epicsSingleton::reference & > ( *this ); + typename epicsSingleton::reference & ref = + const_cast < typename epicsSingleton::reference & > ( *this ); return ref.operator -> (); } @@ -102,7 +102,7 @@ inline epicsSingleton::~epicsSingleton () epicsShareFunc epicsMutex & epicsSingletonPrivateMutex (); template < class TYPE > -epicsSingleton::operator epicsSingleton::reference () +epicsSingleton::operator typename epicsSingleton::reference () { epicsGuard < epicsMutex > guard ( epicsSingletonPrivateMutex() ); if ( ! this->pSingleton ) { @@ -112,7 +112,7 @@ epicsSingleton::operator epicsSingleton::reference () } template < class TYPE > -epicsSingleton::operator const epicsSingleton::reference () const +epicsSingleton::operator const typename epicsSingleton::reference () const { epicsSingleton < TYPE > * pConstCastAway = const_cast < epicsSingleton < TYPE > * > ( this );