Fehler, Irrtümer, Fragen - Seite 3102

 
mktr8591 #:
ähnlich - (const A*) in A* umwandeln.
Es ist nicht ganz klar, was Sie fxsaber vermitteln wollen. Er versteht genau, was im Code ohne Sie vor sich geht. Es zeigt Ihnen nur eine Situation, die nicht sein sollte. Der Compiler sollte solche Konvertierungen verhindern.
 
Sergey Gridnev #:
Es ist nicht ganz klar, was Sie fxsaber mitteilen wollen. Was genau in dem Code vor sich geht, versteht er auch ohne Sie. Sie zeigt nur eine Situation, die es nicht geben sollte. Der Compiler sollte solche Konvertierungen unterdrücken.
Das ist ein strittiger Punkt. Ohne diese Umstellungen kann es an manchen Orten zu Problemen kommen. Außerdem können selbst solche Verbote des Compilers umgangen werden - es gibt viele Möglichkeiten im Forum.
 
mktr8591 #:

Und die Zeile *2* lässt sich kompilieren und funktioniert einwandfrei. Und warum?

Die Initialisierungsliste ist die einzige legale (und ausdrücklich vorgesehene) Möglichkeit, nicht-statische Konstanten zu initialisieren.

 
Andrei Trukhanovich #:

Die Initialisierungsliste ist die einzige legale (und ausdrücklich vorgesehene) Möglichkeit, nicht-statische Konstanten zu initialisieren.

Also änderte er seinen Wert nachträglich

 
A100 #:

Also änderte er anschließend ihre Bedeutung.

Ja, unaufmerksam. Wanze? Die Merkmale der Initialisierungsliste sollten nur für das zu konstruierende Objekt gelten

 
Andrei Trukhanovich #:

Ja, unaufmerksam. Wanze? Die Merkmale der Initialisierungsliste sollten nur für das zu konstruierende Objekt relevant sein

Fehler. Ich habe es anfangs auch nicht verstanden. Deshalb sage ich, dass man es so schreiben sollte, dass es die meisten Leute verstehen. Dies gilt auch für die Schnittstelle

 
A100 #:

Fehler. Ich habe es auch nicht sofort verstanden. Deshalb sage ich, man sollte es so schreiben, dass die große Mehrheit der Menschen es versteht. Dies gilt auch für die Schnittstelle.

Ich stimme natürlich mit den Fehlerberichten überein.

Die Schnittstelle ist eine andere Geschichte. Beispiel:

Wenn ein Pilot, der ein Flugzeug perfekt beherrscht, zu einem anderen Flugzeugtyp mit einem anderen Steuerungssystem wechselt, ohne die Handbücher zu studieren, wird er nicht viel verstehen.

Es ist unmöglich, eine komplexe Schnittstelle zu schaffen, die selbst die meisten Fachleute verstehen können, ohne die Dokumentation zu studieren.

 
Es handelt sich um einen Kompilierungsfehler:
class T {};                          //(1)
template<typename T> void f( T* ) {} //(2) Error: 'T' - identifier already used
Und wenn Sie tauschen:
template<typename T> void f( T* ) {} //(2)
class T {};                          //(1)

Es ist in Ordnung. Was ist der grundlegende Unterschied?

 
Hallo zusammen! Ich habe vor kurzem mit dem Training auf einem Demokonto begonnen. Heute habe ich geöffnet: Hilfe - MQL5web-terminal. Danach lud die Handelsplattform nicht mehr. Als ich das tat, stellte sich heraus, dass mein Demokonto mit allen technischen Analysen, die ich dort trainiert hatte, gelöscht worden war. Ich musste ein neues Konto eröffnen. Warum ist das passiert? Passiert das auch bei echten Konten?
 
mktr8591 #:

In b3095 führe ich ein Skript aus:

Wenn Sie die Überladung f1(T* & Ptr) entfernen, geben alle 5 Aufrufe void f1<const X>(const X*const) zurück.

Ist dies eine Art Funktion?

Ich wollte diesen Widerspruch in 3 Zeilen schreiben, aber es klappte nicht auf Anhieb