Errori, bug, domande - pagina 3138

 
Valeriy Yastremskiy #:

La dimensionalità di un array statico è una costante, non un int.

Scusa, ho risposto senza controllare.

Mi unisco alla domanda, constant static int, ushort, l'effetto è lo stesso, anche se in aiuto:

Variabili

L'indice della matrice può essere solo un intero.

Forum sul trading, sistemi di trading automatico e test di strategia

Bug, bug, domande

x572intraday, 2022.01.08 20:44

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

O sono completamente fottuto, o se non è un insetto, punzecchiate l'Aiuto.


 
Valeriy Yastremskiy #:

Scusa, ho risposto senza controllare.

Mi unisco alla domanda, wint statico costante, effetto ushort è lo stesso, anche se in aiuto:

Variabili

Solo un intero può essere un indice di matrice.


La risposta era quasi corretta. Una variabile non è una costante.

 
Valeriy Yastremskiy #:

Scusa, ho risposto senza controllare.

Mi unisco alla domanda, wint statico costante, effetto ushort è lo stesso, anche se in aiuto:

Variabili

Solo un intero può essere un indice di matrice.


Invece di

int dim=5;

messo in cima al programma.

#define  dim 5
Ma personalmente trovo questo... non tanto come una stampella, ma una sorta di alternativa non molto conveniente alla versione originale desiderabile ma impraticabile e irrealizzabile.
 
Alexey Viktorov #:

La risposta era quasi corretta. Una variabile non è una costante.

Cioè dichiarare una variabile intera costante non è una costante?

 
x572intraday #:

Invece di

mettere in cima al programma

Ma personalmente, trovo questo... non come una stampella, ma come un'alternativa a una versione originale desiderabile, ma impraticabile e poco pratica.

Beh la sostituzione è diversa, ovviamente invece di dim sostituendo un intero il compilatore ingoia.

 
Valeriy Yastremskiy #:

Cioè dichiarare una variabile intera costante non è una costante?

Una variabile costante non è un valore costante. La parola chiave è variabile.
 
Alexey Viktorov #:
Una variabile costante non è un valore costante. La parola chiave è variabile.
Grazie, questo ha più senso)
 

Capisco il perché, ma ci sono poche informazioni su IsStopped() nell'Aiuto. Vorrei maggiori dettagli:

  1. Ha senso infilarla in tutti i loop di fila? O ci sono situazioni in cui non è necessario rifare tutto da capo? O, per una maggiore sicurezza, dovremmo aggiungerli ovunque? Ho il sospetto che la funzione sia più utile neicicli ad alto carico, per esempio, quando si prova un enorme rate_total in piccoli TF, quando si prova un gran numero di oggetti grafici, ecc.
  2. Dove altro, oltre ai loop, posso/devo infilarlo? Non ho visto nessun esempio, a parte i cicli, da nessun'altra parte.
 
x572intraday #:

Ho capito a cosa serve, ma ci sono pochissime informazioni su IsStopped() nella Guida. Vorrei maggiori dettagli:

  1. Ha senso infilarla in tutti i loop di fila? O ci sono situazioni in cui non è necessario rifare tutto da capo? O, per una maggiore sicurezza, dovremmo aggiungerli ovunque? Ho il sospetto che la funzione sia più utile neicicli ad alto carico, per esempio, quando si prova un enorme rate_total in piccoli TF, quando si prova un gran numero di oggetti grafici, ecc.
  2. Dove altro, oltre ai loop, posso/devo infilarlo? Non ho visto nessun esempio, a parte i loop.

Questo è usato più spesso nei loop dove si può accidentalmente ottenere un ciclo infinito. O intenzionalmente in loop in uno script o in un servizio.

 

Perché non possiamo farlo?

void OnStart()
  {
   TFunc f = someFunction;
  }

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



non può lanciare la funzione 'someFunction' al tipo 'TFunc


Motivazione: