Fehler, Irrtümer, Fragen - Seite 1109

 
aber auf diese Weise wird auch kein Fehler gemeldet

#define  MCR


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

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

void OnTimer()
{
        EventKillTimer();
        Print( NUM );
}
 
Also
class A {
public:
        void f() {}
};

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

}
gibt der Compiler berechtigterweise einen Fehler aus, aber auf diese Weise
class A {
public:
        void f() {}
};

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

tut es nicht. Was ist der Unterschied?
 

Warum hat ein MetaQuotes-Demo-Terminal 910 auf der Registerkarte "Nachrichten" eine Spalte "Zeit"?

und derselbe auf einem anderen Computer nicht?


Und das Menü "Kategorien" ist anders. Die Computer sind identisch, OS=Windows 7. Die Expert Advisors werden nicht ausgeführt. Bei Brokerage 880-Terminals auf physisch unterschiedlichen Computern ist das Bild unter sonst gleichen Bedingungen ähnlich, außer dass die Menüs "Kategorien" gleich sind.

 
Kompilierungsfehler.
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;
};

Warum liegt ein Fehler vor?

die Nicht-Konstante a.f( z ) selbst kann den Zeiger B::a nicht verändern, nur das Objekt A, auf das er zeigt, kann ihn verändern. Objekt A ist jedoch kein Mitglied von B, so dass es nicht dem Änderungsschutz unterliegt. Wenn Sie . durch -> ersetzen, wird alles in C++ ohne Fehler kompiliert. Wenn sie erklärt würde

class B {
public:
//...
        const A *a;
};
dann ja - nicht nur der Zeiger auf das Objekt darf nicht verändert werden, sondern das Objekt selbst darf nicht verändert werden und es würde ein Fehler auftreten
 

Versuchen Sie, die angehängte Datei err1.mqh in MetaEditor=910 zu öffnen

Es wird angenommen, dass OS=Windows 7\32, dass err1.mqh und err2.mqh existieren und dass der Pfad von err2.mqh in err1.mqh korrekt ist (oder sie sich im selben Ordner befinden), und dass die folgenden MetaEditor-Einstellungen gelten

Ich kriege sie nicht einmal geöffnet. Ich habe überflüssigen Code ausgeschlossen und nur das Wesentliche des Problems übrig gelassen - ein paar Zeilen

Dateien:
Err1.mqh  1 kb
Err2.mqh  1 kb
 

Was ist mit diesem Thema los? Alle fünf Minuten zeigt das Forum an, dass es neue Beiträge in diesem Thema gibt - aber wenn man reinkommt, stellt sich heraus, dass hier nichts steht.

P.S. Hören Sie auf, ständig kleine Änderungen an Ihren Beiträgen vorzunehmen, um das Thema nach oben zu bringen.

 

Was ist diese Ausgabe des Magazins aus der Zukunft?

Zukunft

 
barabashkakvn:

Was ist diese Ausgabe des Magazins aus der Zukunft?


Nun... das Portal hat sich geschlossen... für dieses Datum gibt es keine Ausgabe mehr... (((

für mich jedenfalls.

 
Und wann wird das Repository mit MetaEditor4 verbunden sein?
 
barabashkakvn:
Wann wird das Repository mit MetaEditor4 verbunden sein?
Es ist bereits angeschlossen.