Fehler, Irrtümer, Fragen - Seite 2211

 
pavlick_:

Ist die Klasse wirklich eine Namespace-Klasse?

 
pavlick_:

Ist etwas dran an der Sache? Wo sind die dokumentierten Suchen nach Namen ohne Qualifier? Aus der Referenz:

---------

Syntax

Die Syntax der Programmiersprache MQL5 trading strategies ist der Programmiersprache C++ sehr ähnlich, mit Ausnahme einiger Merkmale

  • Es gibt keine Adressarithmetik;
  • es gibt keinen goto-Operator;
  • können Sie keine anonyme Aufzählung deklarieren;
  • keine Mehrfachvererbung.

------------

Kein Wort über die Suche nach unqualifizierten Namen, und es handelt sich um grundlegende Dinge. Nun, es liegt am Besitzer, die Sprache anhand von Renates Beiträgen, fehlender Dokumentation und Abwärtskompatibilität zu erlernen, aber dann macht die Sprache den Eindruck eines Kinderspielzeugs.

Ich unterstütze es, es ist an der Zeit, die Hilfe zu den Sprachregeln aufzugeben, denn im Grunde ist mql5 bereits eine andere Programmiersprache

 
Konstantin:

Ich stimme zu, dass es höchste Zeit ist, von der Hilfe wegzukommen und sich den Sprachregeln zuzuwenden, da mql5 im Wesentlichen eine andere Programmiersprache ist.

Wurde irgendwo das Gegenteil behauptet?

 
Alexey Navoykov:

Ist die Klasse wirklich eine Namespace-Klasse?

Ja, Sie haben Recht, es bezieht sich auf den Namespace. Für Schulklassen gibt es eine eigene Klausel, aber der Sinn ist derselbe:

9.2.3.2  Static data members
[class.static.data]
2. The declaration of a non-inline static data member in its class definition is not a definition and may be of
an incomplete type other than cv void. The definition for a static data member that is not defined inline
in the class definition shall appear in a namespace scope enclosing the member’s class definition. In the
definition at namespace scope, the name of the static data member shall be qualified by its class name using
the :: operator. The initializer expression in the definition of a static data member is in the scope of its class (3.3.7).

[Example:
class process {
static process* run_chain;
static process* running;
};
process* process::running = get_main();
process* process::run_chain = running;

The static data member run_chain of class process is defined in global scope; the notation process::run_chain specifies that the member
run_chain is a member of class process and in the scope of class process. In the static data member definition, the
initializer expression refers to the static data member running of class process. — end example]
 
Alexey Viktorov:

Habe ich irgendwo das Gegenteil behauptet?

Habe ich etwas Gegenteiliges behauptet? Warum stellen Sie mir eine Frage?

 
pavlick_:

Compiler-Fehler:

Warnung: 3

Ich sehe keinen Fehler. Ich denke, das ist richtig.

Zunächst weisen wir dem statischen Element der Struktur den Wert 5 und der Variablen den Wert 3 zu.

Anschließend wird der Wert der Variablen in das statische Element der Struktur kopiert.

Es ist klar, dass dieses statische Mitglied den Wert enthalten sollte, den wir der Variablen zugewiesen haben.

Das erscheint mir alles sehr logisch.

 
Georgiy Merts:

Ich kann den Fehler nicht erkennen. Meiner Meinung nach ist alles richtig.

Das erscheint mir alles sehr logisch.

Logik sollte einheitlich sein, nicht selektiv (sonst ist es keine Logik)

Wenn hier

int a = 1;
struct A {
    void f();
    int a;
};
void A::f()
{
   a = 2; //(*)
}

(*) impliziert A::a = 2, nicht ::a = 2

es sollte auch S::q = S::z implizieren, nicht S::q = ::z

 

Es tut mir leid. Das verstehe ich nicht. Also, hast du mich getötet? Oder haben Sie das getan?

Darf ich in diesem Forum pinkeln?
 
B0biThec:

Es tut mir leid. Das verstehe ich nicht. Also, hast du mich getötet? Oder haben Sie das getan?

Darf ich in diesem Forum pinkeln?

Du wurdest für 24 Stunden wegen Spamming gesperrt. Wenn du weiter spammst, wirst du erst eine Woche gesperrt, dann einen Monat, dann wird dein Konto gelöscht, und du pisst an die richtige Stelle.

 
Artyom Trishkin:

Du wurdest für 24 Stunden wegen Spamming gesperrt. Spammen Sie eine Woche lang weiter, dann einen Monat, löschen Sie Ihr Konto und pinkeln Sie an den richtigen Ort.

zurück aus dem Urlaub?