Ошибки, баги, вопросы - страница 1109

 
а так - и об ошибке не сообщает

#define MCR


int OnInit()
{
        EventSetTimer(10);
        return ( INIT_SUCCEEDED );
}

ifdef MCR
        #define NUM             1
#else
        #define NUM             2
#enif //случайная ошибка

void OnTimer()
{
        EventKillTimer();
        Print( NUM );
}
 
Так
class A {
public:
        void f() {}
};

void OnStart()
{
        const A a;
        a.f(); //компилятор выдает ошибку

}
  компилятор обоснованно выдает ошибку, а так
class A {
public:
        void f() {}
};

void OnStart()
{
        const A *a = new A();
        a.f(); //компилятор не выдает ошибку
	delete ( a );
}

не выдает. А в чем разница?
 

А почему у меня в одном MetaQuotes-Demo терминале 910 во вкладке "Новости" есть столбец "Время"

 

а в другом таком же, но на другом компьютере - нет ?


 и меню "Категории" отличаются. Компьютеры идентичные, OS=Windows 7. Эксперты не запущены. В Брокерских терминалах 880 на физически разных компьютерах при прочих равных условиях аналогичная картина за исключением того, что меню "Категории" - совпадают.

 
Ошибка компиляции
class A {
public:
        void f( int z ) { a = z; }
        int a;
};

class B {
public:
        B() { a = new A(); }
        ~B() { delete( a ); }
        void g( int z ) const { a.f( z ); } //error: call non-const method for constant object
        A *a;
};

А почему ошибка?

не константная a.f( z ) сам указатель В::a изменить не может, а может изменить только объект A на который он указывает. Но объект А не является членом B, а значит не является его предметом защиты от изменения. Если заменить . на -> то в С++ все компилируется без ошибок. Если было бы объявлено

class B {
public:
//...
        const A *a;
};
тогда да - нельзя менять не только указатель на объект, но и сам объект и была бы ошибка
 

Попробуйте открыть прилагаемый файл err1.mqh в MetaEditor=910 

Предполагается OS=Windows 7\32, что err1.mqh и err2.mqh существуют и маршрут включения err2.mqh в err1.mqh указан верно (или они находятся в одной папке), а также следующие настройки MetaEditor

 

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

Файлы:
Err1.mqh  1 kb
Err2.mqh  1 kb
 

Что творится с этой темой? Каждые пять минут форум показывает, что в этой теме есть новые сообщения - но при заходе оказывается, что здесь ничего нет. 

P.S. Прекратите бесконечно вносить мелкие правки в свои посты для вывода темы в топ. 

 

А  что это за номер журнала из будущего?

future 

 
barabashkakvn:

А  что это за номер журнала из будущего?

 


ну вот... портал закрылся... нет уже выпуска за эту дату... (((

у меня, во всяком случае.

 
А когда хранилище будет подключено к MetaEditor4?
 
barabashkakvn:
А когда хранилище будет подключено к MetaEditor4?
Оно уже подключено.
Причина обращения: