Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 20
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
...
No, volevo dire:
{
}
for( int i = 0; i < x; i++ )
{
}
...
Sì, e il disegno che hai scritto non funziona affatto.
Ogni variabile ha il suo ambito. Anche dentro le parentesi graffe, c'è uno scope separato per la variabile dichiarata in quello scope - dentro le parentesi graffe. Allora perché dovrei, per esempio, creare variabili di indice di loop con nomi diversi in posti diversi di un programma, se so che non si sovrappongono, ed è sufficiente, e abituale, usare un nome di variabile come "i"?
Non ho discusso con voi.
...
No, volevo dire:
{
}
for( int i = 0; i < x; i++ )
{
}
...
qual è il punto? Per favore condividi la tua esperienza - quale potrebbe essere il problema in questo caso, cioè se il tuo codice fosse così?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Non stavo discutendo con te.
Questo è il mio thread. E quando viene dato un cattivo consiglio sub-ottimale, ho il diritto di correggere la persona. Tu, rispetto alla situazione in questione, stai dando un cattivo consiglio.
Il tuo thread, poi leggilo attentamente e metti in relazione il post con il nickname a cui stai rispondendo.
In breve, sei nel posto sbagliato.
ma qual è il punto? Per favore condividi la tua esperienza - quale potrebbe essere il problema in questo caso, cioè se il tuo codice sarebbe così?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Quando inizializzate un contatore al di fuori di un ciclo, il suo ambito si estende oltre il ciclo, il che di solito non è necessario. Così, si fornisce un terreno fertile per possibili errori, per esempio, se più avanti nel codice si avrà una variabile j, e la si chiama accidentalmente i. O al posto dell'indice [1] si scrive [i], ecc.
Quindi, le variabili devono essere inizializzate il più vicino possibile a dove vengono utilizzate per la prima volta ed evitare un gran numero di variabili globali. Questo riduce la lista dei possibili errori.
Quando inizializzate un contatore al di fuori di un ciclo, il suo ambito si estende oltre il ciclo, il che di solito non è necessario. Facendo questo si fornisce un terreno fertile per possibili errori, ad esempio se più in basso nel codice si ha una variabile j e accidentalmente la si chiama i. O al posto dell'indice [1] si scrive [i], ecc.
Quindi, le variabili devono essere inizializzate il più vicino possibile a dove vengono utilizzate per la prima volta e cercare di evitare un gran numero di variabili globali. Questo riduce la lista dei possibili errori.
Cosa c'entra questo con (....)?
Sono indignato.
Se dice i=0 e i++?
Quindi cambiare i in un altro ciclo per me?
Non funzionerà
Cosa c'entra questo?
Sono fuori.
Puoi essere ovunque e in qualsiasi cosa, è un tuo diritto. Mi avete chiesto di spiegare - l'ho fatto.
L'unica cosa da considerare qui è che dopo il blocco del ciclo i è già uguale a x, purché nel ciclo i<x
Array[i] dopo for(...){} restituirà l'errore di overrun dell'array e questo è tutto