Bug del compilatore con il parametro template = void* - pagina 16

 
Chi potrebbe obiettare che tu hai più talento?)
 
Ilya Malev:

E poi una domanda successiva: perché non

MASK( t, n )

il tutto tra parentesi?

Io no, perché le parentesi sono implicite qui

#define  MASK( t, n )    (-1)

Ma voi non avete questa implicazione - tutto deve essere rigorosamente "scientifico"

 
A100:

Bene, allora, una domanda successiva: perché non mettete

staffe qui dentro?

Io no, perché le parentesi sono implicite qui

Ma voi non avete una tale implicazione - tutto deve essere rigorosamente "scientifico".

Il mio t è un tipo, n è un numero specifico di potenza di due, la maschera su di esso è (1<<(n+1))-1.

#define  TMASK(T,P)   ((((T(1)<<P)-1)<<T(1))+1)

Il motivo per cui l'ho reso più complicato nel secondo caso che nel primo lo si può indovinare.

 
Ilya Malev:

Quindi concludo che si mettono le parentesi in ogni caso particolare. Ma il compilatore non può farlo - ha bisogno di regole severe per generare avvertimenti

 
Alexey Navoykov:
Io, d'altra parte, non ho bisogno di loro per capire la logica. Quindi si scopre che ho più talento? )

Mi sono ricordato dell'esercito e delle frasi fatte, un sottufficiale sembra aver pronunciato una frase piuttosto intelligente: "ognuno ha la sua verità" - imho, hai ragione, ma anche io!

;)

PS: purtroppo al giorno d'oggi il talento si misura in termini di denaro, niente in contrario, sii più talentuoso, ma non a scapito del resto ;)

 
Igor Makanu:

Attualmente, vorrei collegare il modulo VS a .dll a MT5 in un modo semplice )))) - Voglio avvolgere i gestori del clic del pulsante in una classe e chiamarli attraversando un array di puntatori di funzioni di gestione, e voglio avere nel codice principale di EA la possibilità di scrivere gli stessi nomi di funzioni come in VS, cioè button2_Click() ....button2_Click()

SZZ: Questo è un problemaEOP))))

Non continuare - se lo fai e lo pubblichi, quanti articoli/librerie per la creazione di pannelli/interfacce grafiche andranno poi nella storia?

 
A100:

Non andare avanti o se lo fai e lo pubblichi, quanti articoli/librerie per creare pannelli/interfacce grafiche passeranno alla storia allora

Ahimè, è "troppo tardi per questo", mentre scrivevo qui nel thread, ero già stato aiutato con i miei pensieri, tutto è già fatto, molto compatto e tutto nello stile di VS

Non posterò nulla per molto tempo, non mi dispiace, ma il tempo in più per raccogliere gli sputi dei benpensanti... Ne ho abbastanza anche offline, la pratica ha dimostrato che è più facile fare come si dice: mai aiutare un compagno se non ti viene chiesto))

))

 

Mi chiedo, chi sono questi sostenitori del "senza apparecchio"? In pratica, non c'è codice in cui ci sia solo una linea di codice sotto if o for. Anche se c'è solo una linea all'inizio, molto probabilmente apparirà qualche tempo dopo e dovremo aggiungere le parentesi graffe. Inizialmente mettere due parentesi graffe non è affatto costoso, ma se le metti dopo, devi far scorrere gli occhi sul codice per trovare la fine della linea.

Suppongo che siano insegnanti. Perché si può osservare un'ottima conoscenza della lingua, specialmente di quegli aspetti di essa che sono praticamente di scarsa utilità, con questa tendenza a tormentarli all'infinito. Alla conferenza si scrivono un paio di righe di codice e si discute per un'ora e mezza, qui la questione delle parentesi graffe non si pone nemmeno.

Il più grande bug delle parentesi graffe mancanti si verifica quando si rielabora e si fa il debug. Diciamo che abbiamo bisogno di stampare qualcosa e aggiungiamo una linea, ma nessuno pensa in quel momento che la prossima linea si trova sotto if o for. Lo stesso accade con le modifiche - si trova un posto, si aggiunge una linea e tutto è rotto. Ho incontrato tali problemi molte volte e non solo con me stesso (l'ho avuto solo una volta e da allora scrivo immediatamente due parentesi). Quindi consiglio a tutti di scrivere un paio di parentesi graffe subito dopo aver scritto if e for. Inoltre, è una buona protezione contro le parentesi graffe perse, che è l'errore più difficile per la ricerca.

 

Ci sono altri due campi:

1. Sostenitori di un codice verticale.

2. Sostenitori del codice orizzontale.

Anche un argomento interessante.

 
Dmitry Fedoseev:

Ci sono altri due campi:

1. Sostenitori di un codice verticale.

2. Sostenitori del codice orizzontale.

Anche un argomento interessante.

Combinate l'argomento principale dell'argomento non necessario () con i vostri nuovi argomenti in un unico codice:

int sum(int a,int b){return a+b;}
//+------------------------------------------------------------------+
void OnStart()
  {
   Print(sum(3,7));
  }
//+------------------------------------------------------------------+

... è andato a prendere i popcorn ...

Motivazione: