Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши статьи с помощью нашего редактора. Это удобно!
Alexander
1510
Alexander 2010.02.28 13:34 

Добрый день, 

Сегодня, обновив терминал до 250 билда, обнаружил, что кое-какие мои файлы не компилируются. Локализовав место ошибки, набросал тестовый примерчик.

#include <Arrays\List.mqh>

//+------------------------------------------------------------------+
class CTest : CObject
{
protected:
   CList* m_Values;
   
public:
   CTest()  { m_Values = new CList(); }
   ~CTest() { delete m_Values; }
   
   CList* GetValues() { return m_Values; }
   
   virtual int Compare(const CObject* node, int mode = 0);
};

//+------------------------------------------------------------------+
int CTest::Compare(const CObject* node, int mode = 0)
{
   CTest* rhs = node;
   if (CheckPointer(rhs) == POINTER_INVALID) return 0;
   
   CList* rhsValues = rhs.GetValues();
   
   bool inb1 = m_Values.MoveToIndex(mode),
      inb2 = rhsValues.MoveToIndex(mode);
   
   if (!(inb1 && inb2)) return 0;
   
   CObject* val1 = m_Values.GetCurrentNode(),
      val2 = rhsValues.GetCurrentNode();     // 'GetCurrentNode' - initialize sequence expected
   
   return 0;
}

 Конечно, сам по себе пример пустышка и работать не будет. Но я не могу заставить его компилироваться - на строке val2 = rhsValues.GetCurrentNode(); выдает указанную ошибку.

Честно говоря, не вижу причин для беспокойства компилятора 

Dmitry Voronkov
5724
Dmitry Voronkov 2010.02.28 13:47  
GarF1eld писал(а)  :

Добрый день, 

Сегодня, обновив терминал до 250 билда, обнаружил, что кое-какие мои файлы не компилируются. Локализовав место ошибки, набросал тестовый примерчик.

 Конечно, сам по себе пример пустышка и работать не будет. Но я не могу заставить его компилироваться - на строке val2 = rhsValues.GetCurrentNode(); выдает указанную ошибку.

Честно говоря, не вижу причин для беспокойства компилятора 

CObject* val1 = m_Values.GetCurrentNode(),
      *val2 = rhsValues.GetCurrentNode();    

  Попробуй так.

Alexander
1510
Alexander 2010.02.28 15:24  
vdv2001:

CObject* val1 = m_Values.GetCurrentNode(),
      *val2 = rhsValues.GetCurrentNode();    

  Попробуй так.

точно :) 

Спасибо! 

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