Fehler, Irrtümer, Fragen - Seite 3138

 
Valeriy Yastremskiy #:

Die Dimensionalität eines statischen Arrays ist eine Konstante, nicht ein int.

Entschuldigung, ich habe geantwortet, ohne nachzusehen.

Ich schließe mich der Frage, konstante statische int, ushort, die Wirkung ist die gleiche, obwohl in der Hilfe:

Variablen

Der Array-Index kann nur eine ganze Zahl sein.

Forum für Handel, automatisierte Handelssysteme und Strategietests

Wanzen, Wanzen, Fragen

x572intraday, 2022.01.08 20:44

   int dim=5;
   int Arr1[5];// OK
   int Arr2[dim];// '[' - invalid index value

Entweder bin ich total im Arsch, oder, wenn das nicht der Fall ist, stochere ich in der Hilfe herum.


 
Valeriy Yastremskiy #:

Tut mir leid, ich habe nicht nachgefragt.

Ich schließe mich der Frage, konstante statische wint, ushort Wirkung ist die gleiche, obwohl in der Hilfe:

Variablen

Nur eine Ganzzahl kann ein Array-Index sein.


Die Antwort war fast richtig. Eine Variable ist keine Konstante.

 
Valeriy Yastremskiy #:

Tut mir leid, ich habe nicht nachgefragt.

Ich schließe mich der Frage, konstante statische wint, ushort Wirkung ist die gleiche, obwohl in der Hilfe:

Variablen

Nur eine Ganzzahl kann ein Array-Index sein.


Anstelle von

int dim=5;

an den Anfang des Programms stellen.

#define  dim 5
Aber ich persönlich finde das... nicht so sehr als Krücke, sondern als eine Art nicht sehr bequeme Alternative zu der wünschenswerten, aber nicht praktikablen und nicht durchführbaren ursprünglichen Version.
 
Alexey Viktorov #:

Die Antwort war fast richtig. Eine Variable ist keine Konstante.

D.h. die Deklaration einer konstanten Integer-Variable ist keine Konstante?

 
x572intraday #:

Anstelle von

an den Anfang des Programms stellen

Aber ich persönlich finde das... nicht als Krücke, sondern als Alternative zu einer wünschenswerten, aber nicht umsetzbaren und nicht realisierbaren ursprünglichen Variante.

Nun, Substitution ist anders, natürlich statt dim durch Ersetzen einer ganzen Zahl wird der Compiler schlucken.

 
Valeriy Yastremskiy #:

D.h. die Deklaration einer konstanten Integer-Variable ist keine Konstante?

Eine konstante Variable ist kein konstanter Wert. Das Schlüsselwort ist variabel.
 
Alexey Viktorov #:
Eine konstante Variable ist kein konstanter Wert. Das Schlüsselwort ist variabel.
Danke, das macht mehr Sinn)
 

Ich verstehe warum, aber in der Hilfe gibt es nur sehr wenige Informationen zu IsStopped(). Ich hätte gerne mehr Details:

  1. Ist es sinnvoll, sie in alle Schleifen hintereinander zu schieben? Oder gibt es Situationen, in denen es nicht notwendig ist, es noch einmal zu tun? Oder sollten wir sie im Interesse der Sicherheit überall anbringen? Ich vermute, dass die Funktion inSchleifen mit hoher Belastung am nützlichsten ist, z. B. beim Ausprobieren einer großen rate_total in kleinen TFs, beim Ausprobieren einer großen Anzahl von grafischen Objekten, usw.?
  2. Wohin kann/sollte ich ihn außer in Schleifen noch stecken? Ich habe nirgendwo sonst Beispiele gesehen, außer bei Zyklen.
 
x572intraday #:

Ich verstehe warum, aber in der Hilfe gibt es nur sehr wenige Informationen zu IsStopped(). Ich hätte gerne mehr Details:

  1. Ist es sinnvoll, sie in alle Schleifen hintereinander zu schieben? Oder gibt es Situationen, in denen es nicht notwendig ist, das Ganze noch einmal zu machen? Oder sollten wir sie im Interesse der Sicherheit überall anbringen? Ich vermute, dass die Funktion inSchleifen mit hoher Belastung am nützlichsten ist, z. B. beim Ausprobieren einer großen rate_total in kleinen TFs, beim Ausprobieren einer großen Anzahl von grafischen Objekten, usw.?
  2. Wohin kann/sollte ich ihn außer in Schleifen noch stecken? Ich habe keine Beispiele gesehen, außer für Schleifen.

Dies wird am häufigsten in Schleifen verwendet, wo man versehentlich eine Endlosschleife erhalten kann. Oder absichtlich in einer Schleife in einem Skript oder Dienst.

 

Warum können wir das nicht tun?

void OnStart()
  {
   TFunc f = someFunction;
  }

class Test
  {
  } ;
typedef void (*TFunc)(Test*);
void someFunction(Test &a)  { }



kann Funktion 'someFunction' nicht auf Typ 'TFunc' übertragen


Grund der Beschwerde: