Скачать MetaTrader 5

build 360

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Где найти программиста? В сервисе Фриланс!
Andrei
780
Andrei 2010.11.26 13:14 

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

 

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; 

  }

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

gisip
325
gisip 2010.11.26 13:31  
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
Yedelkin
4532
Yedelkin 2010.11.26 13:37  
gisip
325
gisip 2010.11.26 13:59  
   Да, ясно, спасибо.
Nikolay Demko
12465
Nikolay Demko 2010.11.26 14:57  
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("удаление указателя");}
  }
//+------------------------------------------------------------------+
Andrei
780
Andrei 2010.11.26 16:12  
Urain:

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

 

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

Nikolay Demko
12465
Nikolay Demko 2010.11.26 16:35  
zigan:

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

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

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий