Ho deciso di descrivere il problema che stiamo discutendo. A proposito, il comportamento di MQL è diventato sempre più simile a quello di C#, il codice non si compila
//+------------------------------------------------------------------+class A
{
private:
int count;
public:
A():count(0) {}
staticvoid inc() { count++; }
};
A a;
//+------------------------------------------------------------------+voidOnStart()
{
a.inc(); //code generation error
A::inc();
}
//_______________________________________________________________________
Ho implementato il metodo Inc() - funziona con i campi protetti
se ho aggiunto un modificatore statico - dove dovrebbe smettere di controllare il compilatore? - ho deciso che ho bisogno di un punto di ingresso a un oggetto fuori dallo scopo?
Se avete scritto un metodo/campo statico o applicato un ::: - non fate affidamento sul compilatore
I bug capitano. Scrivo il codice come prima: this, ::, const, static, private, public, protected sono messi ovunque sia possibile.
Ne ho bisogno prima di tutto per una rapida comprensione del mio codice. In secondo luogo, voglio che il compilatore mi aiuti mentre scrivo il mio codice. Mi aiuta molto.
Ieri ho affrontato per la prima volta una situazione simile. Ho scritto un codice di 5Kb di cui una parte è stata copiata e incollata da vari frammenti. E quando l'ha compilato per la prima volta non è apparso un solo errore o avvertimento. Sono rimasto sorpreso.
Ho deciso di descrivere il problema che stiamo discutendo
//+------------------------------------------------------------------+class A
{
private:
int count;
public:
A():count(0) {}
staticvoid inc() { count++; } // Здесь ошибка, о которой компилятор сейчас не сообщает.
};
Ho deciso di descrivere il problema che stiamo discutendo. A proposito, il comportamento di MQL assomiglia sempre più a C#, il codice non si compila
il metodo inc() - funziona con campi protetti
se ho aggiunto un modificatore statico - dove dovrebbe fermarsi il compilatore a controllare? - ho preso una decisione che ho bisogno di un punto di ingresso a un oggetto fuori dallo scopo, giusto?
La vostra variabile di conteggio non è statica.
Come fa una funzione statica a sapere a quale oggetto appartiene questa variabile?
Come farà una funzione statica a sapere a quale oggetto appartiene questa variabile?
non un principio, voglio dire che qualsiasi implementazione di lavoro con metodi statici non avrà un controllo completo da parte del compilatore, e l'intera responsabilità del controllo ricade sul programmatore
Voglio dire che qualsiasi implementazione di metodi statici non sarà completamente validata dal compilatore, e tutta la responsabilità del controllo ricade sul programmatore
Non l'ho inventato io, è la mia opinione... come, in linea di principio, chiudere tutto il lavoro con la statica solo all'interno della statica come in C# - allora non ci saranno domande o errori ;)
1. sarà aggiunto un intervallo di trading ammissibile per i VP tramite MOEX (ad esempio EURRUB_TOM)? In questo momento è impossibile sapere con certezza se sarà impostato un limite, poiché non c'è accesso alla gamma (prezzi massimi e minimi possibili). Si prega di aggiungere.
2. È possibile aggiungere al terminale e al meta-editor uno stato di salvataggio automatico ogni N minuti? Molto carente, poiché con una disconnessione improvvisa si torna allo stato di partenza del programma con perdita di tutte le modifiche! Molto stressante!
Nell'indicatore sul grafico con lo strumento personalizzato, chiamando la funzione CopyBuffer(con l'handle della solita maschera per i simboli reali, ad esempio per EURUSD) ritorna l'errore 4806. Il simbolo personalizzato è basato sulla formula XAUUSD/31.1035*USDRUB. Lo stesso indicatore personalizzato con le stesse impostazioni funziona bene su un grafico reale (come XAUUSD, GBPUSD ecc.). Quale potrebbe essere il problema?
Non ho intenzione di discutere
Ho deciso di descrivere il problema che stiamo discutendo. A proposito, il comportamento di MQL è diventato sempre più simile a quello di C#, il codice non si compila
Ho implementato il metodo Inc() - funziona con i campi protetti
se ho aggiunto un modificatore statico - dove dovrebbe smettere di controllare il compilatore? - ho deciso che ho bisogno di un punto di ingresso a un oggetto fuori dallo scopo?
Se avete scritto un metodo/campo statico o applicato un ::: - non fate affidamento sul compilatore
I bug capitano. Scrivo il codice come prima: this, ::, const, static, private, public, protected sono messi ovunque sia possibile.
Ne ho bisogno prima di tutto per una rapida comprensione del mio codice. In secondo luogo, voglio che il compilatore mi aiuti mentre scrivo il mio codice. Mi aiuta molto.
Ieri ho affrontato per la prima volta una situazione simile. Ho scritto un codice di 5Kb di cui una parte è stata copiata e incollata da vari frammenti. E quando l'ha compilato per la prima volta non è apparso un solo errore o avvertimento. Sono rimasto sorpreso.
Ho deciso di descrivere il problema che stiamo discutendo
Ho deciso di descrivere il problema che stiamo discutendo. A proposito, il comportamento di MQL assomiglia sempre più a C#, il codice non si compila
il metodo inc() - funziona con campi protetti
se ho aggiunto un modificatore statico - dove dovrebbe fermarsi il compilatore a controllare? - ho preso una decisione che ho bisogno di un punto di ingresso a un oggetto fuori dallo scopo, giusto?
La vostra variabile di conteggio non è statica.
Come fa una funzione statica a sapere a quale oggetto appartiene questa variabile?
Il vostro numero di variabili non è statico.
Come farà una funzione statica a sapere a quale oggetto appartiene questa variabile?
non un principio, voglio dire che qualsiasi implementazione di lavoro con metodi statici non avrà un controllo completo da parte del compilatore, e l'intera responsabilità del controllo ricade sul programmatore
ok, non importa, perché non importa - ho scritto la stessa cosa due volte in un giornohttps://www.mql5.com/ru/forum/1111/page2564#comment_13249284
Voglio dire che qualsiasi implementazione di metodi statici non sarà completamente validata dal compilatore, e tutta la responsabilità del controllo ricade sul programmatore
Dove hai letto questo?
L'hai inventato tu e lo ripeti senza fermarti?
Dove l'hai letto?
Te lo sei inventato tu e continui a ripeterlo?
Non l'ho inventato io, è la mia opinione... come, in linea di principio, chiudere tutto il lavoro con la statica solo all'interno della statica come in C# - allora non ci saranno domande o errori ;)
Alcune domande sulla piattaforma:
1. sarà aggiunto un intervallo di trading ammissibile per i VP tramite MOEX (ad esempio EURRUB_TOM)? In questo momento è impossibile sapere con certezza se sarà impostato un limite, poiché non c'è accesso alla gamma (prezzi massimi e minimi possibili). Si prega di aggiungere.
2. È possibile aggiungere al terminale e al meta-editor uno stato di salvataggio automatico ogni N minuti? Molto carente, poiché con una disconnessione improvvisa si torna allo stato di partenza del programma con perdita di tutte le modifiche! Molto stressante!
MQ, siete a posto con lo stoccaggio? Ci vogliono 10-20 secondi per impegnare un file. Una volta era istantaneo...
Aggiunto: a volte il commit si blocca...