Fehler, Irrtümer, Fragen - Seite 2871

 
A100:

Die Ausgabe ist genau ein String-Literal. Hier ist der Beweis, dass es überhaupt keinen Druck gibt:

Ich glaube der Compiler-Warnung nicht!

'+' ist keine Zeichenkette! Es ist ein Zeichentyp, in mql ushort 2 Bytes

Punkt.

Wahrscheinlich handelt es sich eher um einen Fehler in der Beschreibung der Warnung.

 
Roman:

Ich glaube der Compiler-Warnung nicht!
' Es ist kein String, sondern ein Zeichentyp!

Wahrscheinlich handelt es sich eher um einen Fehler in der Beschreibung der Warnung.

Es ist nicht eine Frage des Glaubens und der Vermutung - wir brauchen einen Beweis: ein Beispiel ohne Druck, das beweist, dass typename ein Nicht-String-Literal zurückgibt, gibt es? Wenn das der Fall ist, machen wir weiter.

 
A100:

Es ist keine Frage des Glaubens und der Vermutung - wir brauchen einen Beweis: gibt es ein Beispiel ohne Ausdruck, das beweist, dass ein Nicht-String-Literal zurückgegeben wird? Wenn das der Fall ist, machen wir weiter.

Obwohl typename einen Namen zurückgibt, ist das der Grund, warum es als String
vielleichtzurückgibt, aber welchen Unterschied macht es?
Sie haben die Typenbezeichnung und Sie haben sie. Ich verstehe nicht, was Sie mir beweisen wollen?
Dass typenameeine Typzeichenkettezurückgibt, ist logisch, denn es gibt einen Namen zurück.
Ich meinte, dass der Typname zurückgegeben wird, d.h. der Typ wird in Buchstaben geschrieben ))
Ich
habe gar nicht darüber nachgedacht, in welcher Art es zurückkommt und du hast dich daran festgehalten.
Wie auch immer, es hat keinen Sinn, darüber zu streiten.
 
Roman:
Obwohl typename einen Namen zurückgibt, so dass es als String
vielleicht so, aber welchen Unterschied macht es?

Sie scheinen das Stadium der Verleugnung hinter sich gelassen zu haben... das Stadium des Bewusstseins beginnt. Ich überlasse es Ihnen.

 
A100:

Sie scheinen das Stadium der Verleugnung hinter sich gelassen zu haben... das Stadium des Bewusstseins beginnt. Ich überlasse es Ihnen.

Noch einmal: Ich habe nicht behauptet, dass die Schrift selbst zurückkommt, sondern dass der NAME der Schrift zurückkommt.
Welche Art von NAME zurückkommt, darüber habe ich in unserem Gespräch noch gar nicht nachgedacht.
Aus diesem Grund ist die Realisierungsphase nicht involviert; es ist klar, dass der Name eine Zeichenkette ist, wenn es eine Zeichenkette ist.
Aber es gibt auch mql ushort, verdammt, so bezweifelte ich, dass in typename eine 12-Byte-Zeichenfolge schieben wird.
Wenn der Typ selbst zurückgegeben wurde, wäre es ein Schrei überhaupt ))
On the fly könnten Variablen definiert werden ))
Ich weiß nicht, ob es möglich ist, in kompilierten Programm, in der Tat ist es üblich, Speicherzuweisung.

 
A100:

Dies ist in abstrakten Sprachen, aber MQL hat keine Abstraktheit - angeblich kann es nicht mit Geschwindigkeit kombiniert werden

Hier ist eine weitere Möglichkeit zur Überprüfung, 12 Bytes als String-Typ

Print(sizeof(typename()));
 
Roman:

Hier eine weitere Möglichkeit der Überprüfung, 12 Bytes als String-Typ

Umso mehr bedeutet dies, dass die Dokumentation korrekt war (aber auch dies ist ein Indiz).

 
Ich habe das System also doch betrogen.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

A100, 2020.10.09 00:38

Kompilierungsfehler:
void OnStart()
{
    Print(typename("ushort"));      //(1) нормально
    Print(typename(typename('+'))); //(2) Error: 'typename' - unexpected token
}

Double typenname

template<typename T>
T f( T ) { return typename(T); }
void OnStart()
{
        Print(f(typename('+')));
}

Ergebnis: Zeichenkette

Es ist also ein direkter Beweis, kein indirekter.
 
A100:

Umso mehr, als es in der Dokumentation richtig geschrieben wurde

Ja, in der Dokumentation zu den Templates ist alles korrekt beschrieben.
typename ist für Templates gedacht, also gibt es den Type-String zurück
Du hast einfach nicht verstanden, dass ich anfangs geschrieben habe, dass es Type NAME zurückgibt, nicht TYPE name ))
Und du hast angefangen, mir den Return-String zu erklären)
Ich war verwirrt und habe gezweifelt und dachte, dass ushort zurückgeben kann.
Aber nein, trotzdem eine Schnur.

 
Roman:

Natürlich ist es meine Schuld, ich lese die Dokumentation nicht und ich habe den Beitrag erfunden.

(typename)J

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

Roman, 2020.10.07 17:20

Ja, auch das ist ein Kompilierungsfehler

#define  J '+'          // char

void OnStart()
{
    Print((typename)J);
}
#define  J '+'          // char

void OnStart()
{
    Print((typename)(J));
}