[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 82

 
goldtrader >> :

Una funzione restituisce solo UN valore,

e quello descritto come void non restituisce nessuno, cioè non restituisce nulla.

.

In alternativa, potete assegnare questi valori a variabili globali all'interno di una funzione.

Globali - sono dichiarati al di fuori delle funzioni speciali? La variabile flag10 è dichiarata all'inizio dell'EA - insieme alle variabili esterne.

if (tiket!= -1) 
                  {  
          Order_Modifi_Sell ();
          taim_open = Taim0;
           flag10=0;
                  }     
              
         }
            return(taim_open,flag10);

Quindi non c'è bisogno di mandare il flag10 specificamente all'esterno - ci arriverà comunque?

 
Figar0 >> :

Tutto vero. Ma ci sono soluzioni, "contadine": modifica nella funzione/procedura delle variabili globali del programma, "civilizzate": trasferimento delle variabili alla funzione per riferimento.

Puoi farmi un esempio, perché non lo capisco bene.

 
Figar0 >> :

Tutto vero. Ma ci sono soluzioni, "contadine": modifica nella funzione/procedura delle variabili globali del programma, "civilizzate": trasferimento delle variabili alla funzione per riferimento.

In questo thread imho è meglio iniziare con "contadino" )

 
locol91 >> :

Globali sono quelli dichiarati al di fuori delle funzioni speciali?

Al di fuori di qualsiasi funzione.

Di solito sono dichiarate subito dopo le variabili esterne prima delle funzioni init, deinit e start.

 
locol91 писал(а) >>

Quindi non c'è bisogno di mandare la bandiera10 verso l'esterno di proposito - ci arriverà comunque?

Sì. Se non viene ridichiarata di nuovo nella funzione, la variabile globale verrà modificata.

 
int start()
{
   int A=1;
   func( A);
   Print( A); // Должно получиться 2:)

}

void func (int & var)
{
  var++;
}
Esempio di trasferimento di parametri per riferimento, in questo caso non è una variabile che viene trasferita, ma un collegamento all'area di memoria dove è memorizzata. Si ottiene la piena autonomia della funzione senza riferimento alle variabili globali del programma (si può facilmente trasferire da un programma all'altro), ma la variante "contadina" ha anche diritto alla vita al nostro livello di programmazione:)
 
goldtrader >> :

Al di fuori di qualsiasi funzione.

Di solito sono dichiarate immediatamente dopo le variabili esterne prima delle funzioni init, deinit e start.

Un'altra domanda. Quali sono le variabili globali che vengono dichiarate dal terminale con F3? E grazie a tutti per il chiarimento.

 
locol91 писал(а) >>

Poi c'è un'altra domanda. Quali sono le variabili globali che vengono dichiarate dal terminale con il tasto F3? E grazie a tutti per il chiarimento.

Sei in un mare di guai.)

Ci sono 3 livelli in totale:

-variabili globali del terminale, ambito di tutti i programmi in esecuzione nel terminale (questo è chiamato da F3)

-Variabili globali del programma (tutto il programma, tutte le sue funzioni sono visibili)

-Variabili locali (ambito della funzione in cui è dichiarata);

 
locol91 >> :

Poi c'è un'altra domanda. Quali variabili globali vengono dichiarate dal terminale premendo F3? E grazie a tutti per i chiarimenti.

Queste sono le variabili globali del terminale.

Possono essere raggiunti da qualsiasi esperto, script che lavora in questo terminale.

Da non confondere con le variabili globali dello script/consigliere.

 
Figar0 >> :

Sei in una situazione più grande di te).

Ci sono 3 livelli in totale:

-variabili globali del terminale, ambito di tutti i programmi in esecuzione nel terminale (questo è chiamato da F3)

-Variabili globali del programma (tutto il programma, tutte le sue funzioni sono visibili)

-Variabili locali (ambito della funzione in cui è dichiarata);

Sì, porridge! Direi anche pilaf :-) . Ma devi comunque sistemare tutto.

Motivazione: