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
Avete"possibile uso di una variabile non inizializzata 'local_low'".
Cosa dice se
Rileggete le mie risposte dal punto di vista di un manager di una società di software che ha portato molti progetti di software sul mercato.
Altrimenti, rimanendo al livello di "un programmatore qualsiasi", non capirete qual è l'errore.
:) Dato che non diventerò mai il capo di una società di software, resterò per sempre al livello di "un programmatore qualsiasi" (cioè un programmatore dilettante, per come la vedo io).
...E poiché il programmatore dilettante non ottiene mai una descrizione logica dell'errore, conclude che o non c'è semplicemente nessun errore nel suo pezzo di codice o l'errore è così complicato che nessuno può descriverlo nel linguaggio della logica. A questo punto, possiamo considerare che entrambe le parti si capiscono, la questione è finita.
Se la variabile è inizializzata con qualcosa, l'avvertimento scompare. Ma, come potete vedere voi stessi, l'inizializzazione della variabile local_low è ridondante in questo pezzo di codice. Quindi l'avvertimento non interferisce affatto con la vita.
... Il compilatore dovrà essere il più"infallibile" possibile.
... non scrivere se (a==true) ...
Ma a causa dell'uso di bool-variabile interrupcion nella linea 9 subito dopo l'inizializzazione della variabile local_low nella linea 8, risulta che nella linea 15 la variabile local_low sarà garantita per essere inizializzata. Quindi a questo punto, l'avvertimento "possibile uso di una variabile non inizializzata 'local_low'" non significa "garantito" ma solo possibile presenza di un ramo pass-through in cui la variabile non è inizializzata.
Se inviamo una richiesta di modifica di una posizione con gli stessi stop, otterremo un errore. Ma se si invia una richiesta di modifica di un ordine in sospeso con gli stessi parametri, la richiesta verrà eseguita. È questo il modo in cui l'abbiamo pianificato e non abbiamo bisogno di controllare i parametri per i cambiamenti?
Perché intasare il server con richieste inutili, per esempio, in caso di un errore nell'Expert Advisor o di una logica errata del suo funzionamento?
Nel vostro esempio, se Ac-k=0 , allora l'istruzione for non sarà eseguita affatto e local_low è garantito non inizializzato. O è sbagliato?
Proprio così. Se Ac-k<=1, l'operatore for non deve essere eseguito affatto e la variabile local_low è garantita per rimanere non inizializzata. Ma poiché la variabile bool interrupcion rimarrà falsa (linea 3), la condizione nella linea 13 significa che la variabile non inizializzata local_low non sarà mai (non dovrebbe mai) usata nei calcoli. In particolare, un'espressione con la variabile local_low dalla linea 15 non dovrebbe essere valutata [a meno che, naturalmente, l'istruzione if funzioni esattamente come indicato nella guida:) ].
In altre parole, se la variabile local_low è garantita come non inizializzata, è anche garantito che non (non dovrebbe) essere usata nei calcoli.