Errori, bug, domande - pagina 1201
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
Un errore nel funzionamento delle funzioni virtuali
Risultato: A::f(), dovrebbe essere B::f()
Aiuto installare META TRADER 4 su OS MAVERICKS, SCARICATO TUTTI I PROGRAMMI, GIOCARE SU MAC, TUTTO NUOVO, QUALSIASI COSA Dà ERRORE.
/*moderatore: inviare il testo dell'errore come file*/
2 - Prima del debug.
3 - dopo.
Forse lì ci sono delle differenze, io non ci capisco niente)
Grazie mille)
Errore di compilazione
mentre const non dovrebbe seguire static
Inoltre, questa è una protezione fasulla, perché static è modificato dalla solita funzione h() e A::f() const non lo saprà nemmeno
Un errore nel funzionamento delle funzioni virtuali
Risultato: A::f(), dovrebbe essere B::f()
Errore di compilazione
mentre const non dovrebbe seguire static
Inoltre, questa è una protezione fasulla, perché static è modificato dalla solita funzione h() e A::f() const non lo saprà nemmeno
Errore di compilazione 358 in tutti i casi di chiamata h( A* a)
È giustificato solo in (3) e (4) perché non è h( const A* a)
Una situazione simile è stata corretta in precedenza https://www.mql5.com/ru/forum/1111/page1218#comment_1058402 ma la ragione è probabilmente diversa poiché la presenza di const nella dichiarazione void f() const influenza il verificarsi dell'errore e non c'erano funzioni membro lì
Non compila nella build 976 (errore 358, ma differisce dagli errori precedentemente descritti nella build 975).
La ragione potrebbe essere che la build 976 ha corretto l'errore relativo al fatto che una normale funzione chiamata da un metodo di classe const potrebbe modificare i membri della classe passati ad essa da un riferimento non-const&. Ma qui il puntatore è un membro della classe e il suo valore è garantito per non essere cambiato quando si chiama h( A* a), ma può essere cambiato solo quando si dichiara h( A* &a )Non compila nella build 976 (errore 358, ma differisce dalla descrizione precedente in quanto nessun errore si è verificato nella build 975)
La ragione potrebbe essere che la build 976 ha corretto l'errore relativo al fatto che una normale funzione chiamata da un metodo di classe const potrebbe modificare i membri della classe passati ad essa da un riferimento non-const&. Ma qui il puntatore è un membro della classe e il suo valore è garantito per non essere cambiato quando si chiama h( A* a) ma può essere cambiato solo quando si dichiara h( A* &a )