вынести тело функции за пределы класса

Nikolai Karetnikov  

Привет!

Подскажите, пожалуйста, как вынести тело метода 

CEnterStructure *getCESByMagic(int inMagic)

за пределы класса

#include <Arrays\ArrayObj.mqh>
class CEnterStructure:public CObject
{
   public:
   int meMagicNumber;
};
class CCollectionOfEnterStructures:  public CArrayObj
  {
public:
CEnterStructure  *operator[](const int inIndex) const { return (CEnterStructure*)At(inIndex);}
   void             doPrintColl();
   void             doCCommentColl();
   // to facilitate debugging in the God Damned MQL environment
CEnterStructure *getCESByMagic(int inMagic)
{
   for(int i=0;i<this.m_data_total;i++)
     {
      if(this[i].meMagicNumber == inMagic)
        {
         return(this[i]);
        }
     }
   return(NULL);
   printf(__FUNCSIG__,"be careful, there's no such magic");
}
};
void OnStart()
  {
//---
   printf("");
  }
//+------------------------------------------------------------------+


если так, то никак

#include <Arrays\ArrayObj.mqh>
class CEnterStructure:public CObject
{
   public:
   int meMagicNumber;
};
class CCollectionOfEnterStructures:  public CArrayObj
  {
public:
CEnterStructure  *operator[](const int inIndex) const { return (CEnterStructure*)At(inIndex);}
   void             doPrintColl();
   void             doCCommentColl();
   // to facilitate debugging in the God Damned MQL environment
   CEnterStructure *getCESByMagic(int inMagic);
   };

CEnterStructure *CEnterStructure::getCESByMagic(int inMagic)
{
   for(int i=0;i<this.m_data_total;i++)
     {
      if(this[i].meMagicNumber == inMagic)
        {
         return(this[i]);
        }
     }
   return(NULL);
   printf(__FUNCSIG__,"be careful, there's no such magic");
}


void OnStart()
  {
//---
   printf("");
  }
//+------------------------------------------------------------------+
Koldun Zloy  
Nikolai Karetnikov:

Привет!

Подскажите, пожалуйста, как вынести тело метода 

за пределы класса


если так, то никак

CEnterStructure* CCollectionOfEnterStructures::getCESByMagic( int inMagic )
{
   for( int i = 0; i < m_data_total; i++ )
   {
      if( this[i].meMagicNumber == inMagic )
      {
         return this[i];
      }
   }
   return NULL;
   printf(__FUNCSIG__,"be careful, there's no such magic");
}
Причина обращения: