build 360

 

Что-то не компилирует...

 

class Cnnga

{

 public:

   struct counter 

          { uint cntGA; 

            uint popSum;

            uint funSum;

            uint msecSum;

          };

   counter count;

};

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()

  {

    Cnnga          *cNG;

    //

    if(cNG!=NULL)    delete cNG; 

  }

//+------------------------------------------------------------------+

 
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 
 
   Да, ясно, спасибо.
 
zigan:

Что-то не компилирует...

 

class Cnnga

{

 public:

   struct counter 

          { uint cntGA; 

            uint popSum;

            uint funSum;

            uint msecSum;

          };

   counter count;

};

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()

  {

    Cnnga          *cNG;

    //

    if(cNG!=NULL)    delete cNG; 

  }

//+------------------------------------------------------------------+


Что то не припомню чтоб можно было объявлять структуру прямо в теле класса(могу ошибатся).

В старте объявлен динамичный объект но нет его вызова.

Попробуйте вот так:

struct counter
  {
   uint              cntGA;
   uint              popSum;
   uint              funSum;
   uint              msecSum;
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class Cnnga
  {
public:

   counter           count;

  };
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Cnnga          *cNG;  cNG= new Cnnga;
//
   if(cNG!=NULL){ delete cNG;Print("удаление указателя");}
  }
//+------------------------------------------------------------------+
 
Urain:

Что то не припомню чтоб можно было объявлять структуру прямо в теле класса(могу ошибатся). 

 

Да, именно в этом и вопрос. До блд360 можно было, а теперь нет? 

 
zigan:

Да, именно в этом и вопрос. До блд360 можно было, а теперь нет? 

А в чём преимущество объявлять структуру в теле класса?
 
Urain:
А в чём преимущество объявлять структуру в теле класса?

Может я и не прав, но почему-то уже лет 5 мое мнение таково - Структуры следует объявлять в отдельном модуле (юните) или в глобальной области программы.

При необходимости работы класса с данной структурой просто организуется "свойство" с типом данной структуры.

Подобно току как реализовано в Вашем примере.

Причина обращения: