Errori, bug, domande - pagina 2273

 
TheXpert:

se è diverso su mql, è sbagliato.

La discussione non riguarda il diritto, ma il presunto errore. La mia opinione è che non c'è nessun errore, questo è il modo in cui l'implementazione è progettata al momento.

 
fxsaber:

La mia opinione è che non c'è nessun errore, questo è il modo in cui l'implementazione è concepita al momento.

Allora perché chiedi dei vantaggi? una macro è un sotto-tipo. perché fare un'analogia tra i due?

 
TheXpert:

allora perché chiedi dei pro?

Curiosità.

La macro è un sotto-template. perché fare un'analogia tra loro?

C++ per qualche motivo è citato come punto di riferimento in questo contesto. Perché la comprensione dell'attuale implementazione di MQL5 non si adatta - non lo so.

 
TheXpert:

sì, questo esempio non compila sui plus

L'esempio base C++ si compila senza errori

Un esempio come questo non si compila in C++:

class A;
void OnStart()
{
        Print( sizeof( A )); //нормально
}

Perché è un errore in sé, ma fxsaber dimostrerà che questo è in realtà corretto (questo è il modo in cui MQL è stato progettato), e noi non capiamo qualcosa

 
fxsaber:

C++, per qualche ragione, è citato come punto di riferimento in questo contesto.

Perché il Language Framework dice: MQL5 è basato sul concetto del diffuso linguaggio di programmazione C++...

E inoltre, la risposta di ServiceDesk ad alcune delle mie richieste iniziava con "Abbiamo controllato il comportamento del codice inviato in Visual C++...".

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
A100:

Un esempio come questo non si compila in C++:

Perché è un errore in sé, ma fxsaber ora dimostrerà che questo è effettivamente corretto (è stato progettato in MQL) e noi non capiamo qualcosa

Se MQL5 compila ed esegue codice che C++ non può compilare, è un'affermazione valida qui che MQL5 lo fa per errore?


Immaginiamo che questo sia un linguaggio che compila ed esegue tutto il codice C++. Inoltre compila ed esegue anche del codice che il C++ non può compilare. C++ è quindi ovviamente un sottoinsieme del linguaggio in questione. È solo logica, senza riferimento a MQL5, nello specifico.

 
A100:

L'esempio Basic C++ si compila senza errori

g++ 5.4.0 non compila. e per favore mostrami il nome della classe di output
 
TheXpert:
g++ 5.4.0 non vuole compilare. e mostra plz come si chiama la classe di output


Anche se ci si aspetterebbe(per analogia con) per esempio questo:

void f<g<A,int >::T1>(void)
void f<g<A,double>::T1>(void)

Notate qui che il valore __FUNCSIG__ è ausiliario poiché non fa parte dello standard e non partecipa ai calcoli. L'importante è che l'implementazione (:16) sia corretta. Embarcadero C++ dà lo stesso risultato

 
A100:

No, non è la firma della funzione che mi interessa, è la classe della funzione interna
 
TheXpert:
g++ 5.4.0 non vuole compilare. e per favore mostrami il nome della classe di uscita

quali bandiere include?