Fehler, Irrtümer, Fragen - Seite 2831

 
A100:

Sie weichen schon wieder vom Thema ab - da gibt es keinen Unterschied. In beiden Fällen gilt: Entweder sollte kein Fehler auftreten - oder es sollte einer auftreten (wie in C++). Hier ist Beispiel (3), wo f wie in Fall (2) überschrieben wird, aber im Gegensatz zu (2) - Kompilierzeitfehler

sorry, nicht Ihr Niveau. aber strenger und nicht sinnvoll Kapselung meiner Meinung nach. nicht c oder Python.

 
Lassen Sie uns alles in einem Beispiel zusammenfassen:
class B {
public:
        B( int ) {}
};
class A {
        int f( int ) { return 0; }
        void g1()    { B f = f( 1 );  } //(1) нормально
        void g2()    { B f(  f( 1 )); } //(2) Error: '1' - some operator expected
};
Nun ist ALLES dasselbe, und die Frage ist dieselbe: Was ist der Unterschied zwischen (1) und (2)?
 
A100:
Fassen wir alles in einem Beispiel zusammen: Jetzt ist ALLES dasselbe, und die Frage ist dieselbe: Was ist der Unterschied zwischen (1) und (2)?

Ich habe keine Ahnung, wovon Sie sprechen, aber der Unterschied ist AMAZING )))) Zuweisung -> Argument. Vielleicht liege ich falsch ))))

 
Сергей Таболин:

Ich habe keine Ahnung, wovon Sie sprechen, aber der Unterschied ist AMAZING )))) Zuweisung -> Argument. Vielleicht liege ich falsch ))))

Wenn der Unterschied für Sie offensichtlich ist, dann erklären Sie, warum es in einem Fall einen Kompilierungsfehler gibt und im anderen nicht. Oder können Sie den Unterschied nur am Aussehen und nicht an der Bedeutung erkennen? Dann ist dies das Niveau der Zeitschrift Murzilka - "Finde 10 Unterschiede".

 
A100:

Wenn der Unterschied für Sie offensichtlich ist, dann erklären Sie, warum in einem Fall ein Kompilierungsfehler vorliegt und im anderen nicht. Oder können Sie den Unterschied nur anhand des Aussehens, aber nicht anhand der Bedeutung erkennen? Dann ist dies das Niveau der Zeitschrift Murzilka - "Finde 10 Unterschiede".

Das ist richtig )))))))

Und darf ich einem Laien noch eine Frage stellen? Was hat das alles für einen Sinn? Was ist der sakramentale Sinn? Suchen Sie absichtlich nach diesen "Fehlern"? Oder ist ohne eines dieser Konstrukte das ganze Leben eine Verschwendung?

 
Сергей Таболин:

Und darf ich einem Laien noch eine Frage stellen? Was hat das alles für einen Sinn? Was ist der sakramentale Punkt? Suchen Sie absichtlich nach solchen "Fehlern"? Oder ist ohne eines dieser Konstrukte alles Leben eine Verschwendung?

Für solche Fragen (in diesem Thread) ist es an der Zeit, ein Verbot auszusprechen

 

Solange es sich um Fehler handelt. Gibt es eine Lösung für die DLL und das manuelle Anhalten des Testers?

Ich meine, wenn Sie Tester/Optimierung im Prozess stoppen, dann um neu zu starten, müssen Sie metatester64 manuell beenden (und im Falle von Farm - es gibt zusätzliche Hölle), weil Prozess DLL geladen lässt, und um neuen Test zu starten, kopiert es DLL in Sandbox wieder, aber anscheinend, Windows nicht erlaubt, geöffnete DLL zu überschreiben und Fehler zu schreiben.

Und wenn Entwickler hier durchlaufen, warum nicht 4 Zeilen zum Tester-Code hinzufügen, so dass es versuchen würde, die Bibliothek Handle zu erhalten, und wenn es geladen ist - entladen Sie es vor dem Kopieren wieder? Es ist eine Sauerei ;)

 

Wie schreibt man die aktuelle Ortszeit in eines der Tabellenfelder des Strategietesters in SQLite?

Gegoogelt

SELECT datetime('now');

Ich möchte eine Abfrage an die Datenbank senden

ich will die Optimierungspässe in die Datenbank schreiben, mir fehlt wirklich die lokale Zeit - ich vergesse, wann ich welche EA-Parameter überprüft habe

UPD:

Eine Lösung gefunden, genug datetime() in das Testfeld zu schreiben

INSERT INTO "tst"("Field1") VALUES (datetime('now','localtime'));
 
Igor Makanu:

Wie schreibt man die aktuelle Ortszeit in eines der Tabellenfelder des Strategietesters in SQLite?

Gegoogelt

Ich möchte eine Abfrage an die Datenbank senden

ich will die Optimierungspässe in die Datenbank schreiben, mir fehlt wirklich die lokale Zeit - ich vergesse, wann ich welche EA-Parameter überprüft habe

UPD:

Lösung gefunden, genug datetime() in das Testfeld zu schreiben

CREATE TABLE "foo" (

   "stamp" datetime default CURRENT_TIMESTAMP,

    --- прочие поля

);

sollte funktionieren - der Stempel wird bei der Erstellung des Datensatzes auf die aktuelle Ortszeit gesetzt.

 
A100:
Fassen wir alles in einem Beispiel zusammen: Jetzt ist alles gleich und die Frage ist die gleiche: Was ist der Unterschied zwischen (1) und (2)?

Nun, es ist offensichtlich, dass das Problem höchstwahrscheinlich derselbe Name wie die Funktion ist - es ist sozusagen eine Bewertung nach dem Aussehen, die die Besonderheiten der Sprache vorwegnimmt))) Nun, es sollte so funktionieren..... stellen Sie sich vor, einen solchen Fehler in einer Tonne Code zu finden.

Ich habe es überprüft - ja, alles ist korrekt. Der Compiler versucht, den Konstruktor innerhalb des Konstruktors aufzurufen und nicht die Funktion zum zweiten Mal.

Im zweiten Fall stellt sich heraus, dass der Compiler aus irgendeinem Grund die "f("-Syntax reserviert - eben als "Funktion" zum Aufruf des Konstruktors.

class B {
public:
        B( int ) {}
};
class A {
        int f( int ) { return 0; }
        void g1()    { B f = f( 1 );  } //(1) нормально
        void g2()    { B f(  this.f( 1 )); } //(2) Прекрасно работает
};


Es ist zwar nicht ganz so))) aber...

Es ist sogar wahrscheinlicher, dass die Klasse, während sie darauf wartet, dass die Klammer zur "f("-Syntax zurückkehrt, auf die Funktion f(....) stößt und sie als Klasse schließt (d.h. in unserem Fall initialisiert sie Objekt B vollständig, anstatt die Funktion aufzurufen)... dann löst es das verbleibende Segment, indem es versucht, die Klasse in eine Variable umzuwandeln

sieht es so aus, als ob Ihr Code versucht, herauszufinden, wie


class B {
public:
        B( int ) {}
};
class A {
        int f( int ) { return 0; }
        void g1()    { B f = f( 1 );  } //(1) нормально
        void g2()    { B a(1);  B f (a(1)); } //(2) Error: '1' - some operator expected
};
Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • www.mql5.com
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...