Sei di nuovo fuori tema - non c'è differenza. In entrambi i casi: o non dovrebbe esserci nessun errore - o dovrebbe esserci (come in C++). Ecco l'esempio (3), dove f è sovrascritto dopo, come nel caso (2), ma a differenza di (2) - errore di compilazione
Scusa, non è il tuo livello. ma l'incapsulamento più rigoroso e non sensato secondo me. non c o python.
class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B f( f( 1 )); } //(2) Error: '1' - some operator expected
};
Ora TUTTO è uguale, e la domanda è la stessa: qual è la differenza tra (1) e (2)?
Non ho la minima idea di cosa tu stia parlando, ma la differenza è FANTASTICA )))) Assegnazione -> argomento. Forse mi sbaglio ))))
Se la differenza è evidente per te, allora spiega perché c'è un errore di compilazione in un caso e non nell'altro. O puoi distinguere la differenza solo dall'apparenza e non dal significato? Allora questo è il livello della rivista Murzilka - "trovare 10 differenze".
Se la differenza è evidente per te, allora spiega perché c'è un errore di compilazione in un caso e non nell'altro. O puoi distinguere la differenza solo dall'apparenza, ma non dal significato? Allora questo è il livello della rivista Murzilka - "trovare 10 differenze".
Proprio così )))))))
E posso fare un'altra domanda da un profano? Qual è lo scopo di tutto questo? Qual è il punto sacramentale? Stai cercando questi "bug" di proposito? O senza uno di questi costrutti, tutta la tua vita è uno spreco?
E posso fare un'altra domanda da un profano? Qual è lo scopo di tutto questo? Qual è il punto sacramentale? Cercate questi "bug" di proposito? O senza nessuno di questi costrutti - tutta la vita è uno spreco?
Per tali domande (in questo thread) è il momento di vietare
Basta che si tratti di errori. C'è qualche soluzione per la DLL e l'arresto manuale del tester?
Voglio dire, se si ferma il tester/ottimizzazione nel processo, poi per ricominciare, bisogna uccidere metatester64 manualmente (e in caso di fattoria - c'è un ulteriore inferno), perché il processo lascia la DLL caricata, e per iniziare il nuovo test copia di nuovo la DLL nella sandbox, ma apparentemente, Windows non permette di sovrascrivere la DLL aperta e scrivere l'errore.
E se gli sviluppatori passano di qui, perché non aggiungere 4 righe al codice del tester, in modo che cerchi di ottenere l'handle della libreria, e se è caricata - scaricarla prima di copiare di nuovo? È un casino ;)
A100: Uniamo tutto in un esempio: ora tutto è uguale e la domanda è la stessa: qual è la differenza tra (1) e (2)?
Beh, è ovvio che il problema è molto probabilmente lo stesso nome della funzione - è una valutazione dell'aspetto, per così dire, che anticipa le peculiarità del linguaggio))) Beh, dovrebbe funzionare così..... immaginare di trovare un tale errore in una tonnellata di codice.
Ho controllato - sì, tutto è corretto. Il compilatore sta cercando di chiamare il costruttore all'interno del costruttore e non la funzione per la seconda volta.
Nel secondo caso, si scopre che il compilatore per qualche motivo si riserva la sintassi "f(" - proprio come "funzione" per chiamare il costruttore.
class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B f( this.f( 1 )); } //(2) Прекрасно работает
};
Anche se non è esattamente così))) ma...
È ancora più probabile che mentre aspetta che la parentesi della classe ritorni alla sintassi "f("... la incontra alla funzione f(....) e la chiude come classe (cioè nel nostro caso inizializza completamente l'oggetto B invece di chiamare la funzione)... poi risolve il segmento rimanente cercando di convertire la classe in una variabile
sembra che il tuo codice cerchi di capire come
class B {
public:
B( int ) {}
};
class A {
int f( int ) { return0; }
void g1() { B f = f( 1 ); } //(1) нормальноvoid g2() { B a(1); B f (a(1)); } //(2) Error: '1' - some operator expected
};
Есть множество причин, по которым вы решили изучать современный язык программирования торговых стратегий MQL5, и мы только приветствуем это! Старожилы легко ориентируются как в самой документации по языку, так и в статьях и множестве сервисов, которые здесь представлены. Но если вы только открыли для себя клиентский терминал MetaTrader 5, то в...
Sei di nuovo fuori tema - non c'è differenza. In entrambi i casi: o non dovrebbe esserci nessun errore - o dovrebbe esserci (come in C++). Ecco l'esempio (3), dove f è sovrascritto dopo, come nel caso (2), ma a differenza di (2) - errore di compilazione
Scusa, non è il tuo livello. ma l'incapsulamento più rigoroso e non sensato secondo me. non c o python.
Uniamo tutto in un esempio: ora tutto è uguale, e la domanda è la stessa: qual è la differenza tra (1) e (2)?
Non ho la minima idea di cosa tu stia parlando, ma la differenza è FANTASTICA )))) Assegnazione -> argomento. Forse mi sbaglio ))))
Non ho la minima idea di cosa tu stia parlando, ma la differenza è FANTASTICA )))) Assegnazione -> argomento. Forse mi sbaglio ))))
Se la differenza è evidente per te, allora spiega perché c'è un errore di compilazione in un caso e non nell'altro. O puoi distinguere la differenza solo dall'apparenza e non dal significato? Allora questo è il livello della rivista Murzilka - "trovare 10 differenze".
Se la differenza è evidente per te, allora spiega perché c'è un errore di compilazione in un caso e non nell'altro. O puoi distinguere la differenza solo dall'apparenza, ma non dal significato? Allora questo è il livello della rivista Murzilka - "trovare 10 differenze".
Proprio così )))))))
E posso fare un'altra domanda da un profano? Qual è lo scopo di tutto questo? Qual è il punto sacramentale? Stai cercando questi "bug" di proposito? O senza uno di questi costrutti, tutta la tua vita è uno spreco?
E posso fare un'altra domanda da un profano? Qual è lo scopo di tutto questo? Qual è il punto sacramentale? Cercate questi "bug" di proposito? O senza nessuno di questi costrutti - tutta la vita è uno spreco?
Per tali domande (in questo thread) è il momento di vietare
Basta che si tratti di errori. C'è qualche soluzione per la DLL e l'arresto manuale del tester?
Voglio dire, se si ferma il tester/ottimizzazione nel processo, poi per ricominciare, bisogna uccidere metatester64 manualmente (e in caso di fattoria - c'è un ulteriore inferno), perché il processo lascia la DLL caricata, e per iniziare il nuovo test copia di nuovo la DLL nella sandbox, ma apparentemente, Windows non permette di sovrascrivere la DLL aperta e scrivere l'errore.
E se gli sviluppatori passano di qui, perché non aggiungere 4 righe al codice del tester, in modo che cerchi di ottenere l'handle della libreria, e se è caricata - scaricarla prima di copiare di nuovo? È un casino ;)
come scrivere l'ora locale corrente in uno dei campi della tabella dal tester di strategia in SQLite?
Googlato
SELECT datetime('now');Vorrei inviare una query al database
Voglio scrivere i passaggi di ottimizzazione nel database, mi manca davvero il tempo locale - ho dimenticato quando ho esaminato quali parametri EA
UPD:
Trovato una soluzione, abbastanza datetime() nel campo di prova per scrivere
INSERT INTO "tst"("Field1") VALUES (datetime('now','localtime'));come scrivere l'ora locale corrente in uno dei campi della tabella dal tester di strategia in SQLite?
Googlato
Vorrei inviare una query al database
Voglio scrivere i passaggi di ottimizzazione nel database, mi manca davvero il tempo locale - ho dimenticato quando ho esaminato quali parametri EA
UPD:
Soluzione trovata, abbastanza datetime() nel campo di prova per scrivere
CREATE TABLE "foo" (
"stamp" datetime default CURRENT_TIMESTAMP,
--- прочие поля
);
dovrebbe funzionare - il timbro sarà impostato alla creazione del record all'ora locale corrente.
Uniamo tutto in un esempio: ora tutto è uguale e la domanda è la stessa: qual è la differenza tra (1) e (2)?
Beh, è ovvio che il problema è molto probabilmente lo stesso nome della funzione - è una valutazione dell'aspetto, per così dire, che anticipa le peculiarità del linguaggio))) Beh, dovrebbe funzionare così..... immaginare di trovare un tale errore in una tonnellata di codice.
Ho controllato - sì, tutto è corretto. Il compilatore sta cercando di chiamare il costruttore all'interno del costruttore e non la funzione per la seconda volta.
Nel secondo caso, si scopre che il compilatore per qualche motivo si riserva la sintassi "f(" - proprio come "funzione" per chiamare il costruttore.
Anche se non è esattamente così))) ma...
È ancora più probabile che mentre aspetta che la parentesi della classe ritorni alla sintassi "f("... la incontra alla funzione f(....) e la chiude come classe (cioè nel nostro caso inizializza completamente l'oggetto B invece di chiamare la funzione)... poi risolve il segmento rimanente cercando di convertire la classe in una variabile
sembra che il tuo codice cerchi di capire come