Errores, fallos, preguntas - página 2865
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Es imposible crear un nuevo producto para el mercado, dice error 500.
El producto ha sido creado y comprobado, dice que ha sido publicado, pero cuando se hace clic en el enlace se obtiene una respuesta de 500.
Funciona de arriba hacia abajo como un reemplazo de texto. Es decir, "TMP" será sustituido por "VALOR".
Esto no es un compilador - es un preprocesador)
se convierte en
y su VALOR es indefinido.
¿Cómo se supone que funciona undef?
¿Cómo se supone que funciona undef?
Hasta este punto, hay una "sustitución de texto" en marcha.
No es un compilador, es un preprocesador)
se convierte en
y el VALOR es indefinido.
He entendido bien, el tipo de valor VALOR*2 es const y está ligado a la propia sustitución, es decir, el VALOR es también una constante. El compilador crea dos constantes.
Si es así, debe estar creando una nueva sustitución.
#define VALUE VALUE1
Y no es correcto si el VALOR por encima del código se definió como una constante.
Hasta este punto se está produciendo una "sustitución de texto".
No coincide, cambia TMP porVALUE en la línea "#define VALUE (TMP*2)" que está después.
No cuadra, cambia TMP porVALUE en la línea "#define VALUE (TMP*2)" que está después.
Y así las sustituciones siguen y siguen hasta que todas terminan.
Hay un código:
La primera sustitución cambia el VALOR a 10 en todo el código hasta #undef VALOR, dejando esto:
La siguiente sustitución cambia el TMP a 10. Resulta que
¿En qué me estoy equivocando?
Hay un código:
La primera sustitución cambia el VALOR a 10 en todo el código hasta #undef VALOR, dejando esto:
La siguiente sustitución cambia el TMP a 10. Resulta que
¿Qué estoy haciendo mal?
No es el 10 el que se sustituye por TMP, es el VALOR, pero después, si se define el VALOR (que es un coñazo), es el 10.
Mira este paso a paso:
El preprocesador inserta fielmente Print
y luego, de nuevo sin trucos, sustituye ¿qué? Sí:
y luego borra todas las directivas del preprocesador y sólo después de eso el compilador obtiene esto:
TMP no es 10, sino que se sustituye VALOR por TMP, y entonces si se define VALOR (lo cual es un problema), es 10
Mira este paso a paso:
El preprocesador inserta fielmente Print
y luego, de nuevo sin trucos, sustituye ¿qué? Sí:
y luego borra todas las directivas del preprocesador y sólo después de eso el compilador obtiene esto:
Esto no se llama "top-down".
No se llama top-down.
Lo siento, me he confundido al intentar explicarme)))
Una vez más:
En el momento de la segunda definición de VALOR, la macro VALOR no está definida, por lo que VALOR se define como
(VALUE*2)
porque TMP fue y sigue siendo definido por el VALOR.
Pero TMP, tras la segunda definición de VALOR, se amplía a
(TMP*2)
(Algo así))
El preprocesador sólo rellena lo que tiene y no importa cómo y dónde está definido. Por eso hay que tener cuidado con él. Ejemplo:
y ahora vamos a añadir una cosa mala a la función, es decir, un efecto secundario
Y esto es sólo una inscripción, pero ¿y si el depósito depende de esta función?