Error del compilador con el parámetro de la plantilla = void* - página 16

 
¿Quién podría discutir que usted tiene más talento?)
 
Ilya Malev:

Y luego una pregunta de seguimiento: ¿por qué no

MASK( t, n )

¿todo entre paréntesis?

No lo hago, porque los paréntesis están implícitos aquí

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

Pero usted no tiene esa implicación - todo tiene que ser estrictamente "científico"

 
A100:

Bueno, entonces, una pregunta de seguimiento: ¿por qué no pones

¿más corchetes aquí?

No lo hago, porque el paréntesis está implícito aquí

Pero usted no tiene esa implicación: todo debe ser estrictamente "científico".

Mi t es un tipo, n es un número específico de potencias de dos, la máscara en él es (1<<(n+1))-1.

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

Por qué lo hice más complicado en el segundo caso que en el primero puedes adivinar.

 
Ilya Malev:

Así que concluyo que se ponen paréntesis en cada caso particular. Pero el compilador no puede hacer eso - necesita reglas estrictas para generar advertencias

 
Alexey Navoykov:
Yo, en cambio, no los necesito para entender la lógica. ¿Así que resulta que tengo más talento? )

Me acordé del ejército y de las frases hechas, un suboficial parece haber pronunciado una frase bastante ingeniosa: "cada uno tiene su propia verdad" - imho, tienes razón, ¡pero yo también!

;)

PD: por desgracia hoy en día el talento se mide en términos de dinero, nada en contra, ser más talentoso, pero no en detrimento del resto ;)

 
Igor Makanu:

Actualmente, me gustaría adjuntar la forma VS a .dll a MT5 de una manera simple )))) - Quiero envolver los manejadores de clic de los botones en una clase y llamarlos recorriendo un array de punteros de funciones manejadoras, y quiero tener en el código principal del EA la posibilidad de escribir los mismos nombres de función que en VS, es decir, button2_Click() ....button2_Click()

SZZ: Este es un problema deEOP))))

No sigas - si lo haces y lo publicas, ¿cuántos artículos/bibliotecas para crear paneles/interfaces gráficos pasarán entonces a la historia?

 
A100:

No sigas y sigas o si lo haces y lo publicas, cuántos artículos/bibliotecas para crear paneles/interfaces gráficos pasarán a la historia entonces

Ay, es "demasiado tarde para eso", mientras escribía aquí en el hilo, ya me habían ayudado con mis pensamientos, ya está todo hecho, muy compacto y todo al estilo de VS

No voy a publicar nada durante mucho tiempo, no lo siento, pero el tiempo extra para recoger escupitajos de los bienpensantes... Yo también me he hartado fuera de internet, en la práctica es más fácil hacer lo que dicen: nunca ayudes a un compañero si no te lo piden))

))

 

Me pregunto, ¿quiénes son estos partidarios de "no tener aparatos"? Prácticamente, no hay ningún código en el que haya una sola línea de código bajo if o for. Aunque sólo haya una línea para empezar, lo más probable es que aparezca algún tiempo después y tengamos que añadir llaves. Poner inicialmente dos llaves rizadas no es nada costoso, pero si las pones después, tienes que pasar los ojos por el código para encontrar el final de la línea.

Supongo que son profesores. Porque se observa un muy buen conocimiento de la lengua, sobre todo de aquellos aspectos de la misma, que son prácticamente de poca utilidad, con esa tendencia a atosigarles sin parar. En la conferencia se escriben un par de líneas de código y se discuten durante hora y media, aquí ni siquiera se plantea la cuestión de las llaves.

El mayor error de falta de corchetes se produce cuando se retrabaja y se depura. Digamos que necesitamos imprimir algo y añadimos una línea, pero nadie piensa en ese momento que la siguiente línea está bajo si o para. Lo mismo ocurre con las modificaciones: encuentras un lugar, añades una línea y todo se rompe. Yo tuve esos problemas muchas veces y no sólo conmigo (lo tuve sólo una vez y desde entonces escribo inmediatamente dos paréntesis). Así que recomiendo a todo el mundo que escriba un par de corchetes justo después de escribir si y para. Además, es una buena protección contra la pérdida de la llave rizada, que es el error más complicado para la búsqueda.

 

Hay otros dos campos:

1. Los partidarios de un código vertical.

2. Partidarios del código horizontal.

También es un tema interesante.

 
Dmitry Fedoseev:

Hay otros dos campos:

1. Los partidarios de un código vertical.

2. Partidarios del código horizontal.

También es un tema interesante.

Combinar el tema principal del tema innecesario () con sus nuevos temas en un solo código:

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

... fue a buscar palomitas de maíz ...