Errores, fallos, preguntas - página 2863

 
Konstantin Efremov:

No. En este tipo de construcciones, la única solución es convertir el indicador en una clase y añadirlo al Asesor Experto como una instancia de la clase, entonces se puede construir la secuencia de cálculos

La cuestión es que el indicador en sí es una clase independiente que funciona con cualquier indicador básico del mismo tipo. Esto es muy malo, a no ser que haya alguna solución complicada.

 

Tengo una pregunta de rompecabezas.

Compara las dos imágenes y dime cuál es el truco.

1. El Asesor Experto está funcionando en el gráfico.


2. El segundo es el mismo Asesor Experto. El gráfico después de una sola prueba.


 
¿Puede decirme si esto es posible?
#define  VALUE 10

#define  MACROS

#ifdef  MACROS
  // Нужно VALUE увеличить в два раза.
#endif
 
fxsaber:
¿Puede decirme si esto es posible?
#define  VALUE 10

#define  MACROS

#ifdef  MACROS
   #ifdef  VALUE
      #undef  VALUE
   #endif
   #define  VALUE 20
#endif

o

#define  DEFAULT_VAL 10

#define  VALUE DEFAULT_VAL

#define  MACROS

#ifdef  MACROS
   #ifdef  VALUE
      #undef  VALUE
   #endif
   #define  VALUE (2*DEFAULT_VAL)
#endif
 
Vladimir Simakov:

o

No tengo acceso a la definición original de VALOR. Si no, por supuesto, haría la misma opción.

 
fxsaber:
¿Puede decirme si esto es posible?

Por alguna razón no funciona:

#define  VALUE 10

#define  MACROS

#ifdef  MACROS
  // Нужно VALUE увеличить в два раза.
  #define  TMP VALUE
  #undef  VALUE
  #define  VALUE (TMP*2)  // Если заменить на (10*2) - компилируется!
#endif

int OnInit(void)
{
        Print( "VALUE = ", VALUE ); //'VALUE' - undeclared identifier
        return(INIT_FAILED);
}
 
Andrey Khatimlianskii:

Por alguna razón no funciona:

#define  INITIAL_VALUE 10
#define  VALUE INITIAL_VALUE

#ifdef  MACROS
  #define  VALUE 2*INITIAL_VALUE
#endif
Probablemente sea así
 
TheXpert:
Es probablemente la única manera

Por desgracia, el reto no se está cumpliendo.

 
No es posible crear una encuesta en el foro, al hacer clic en crear se vuelve a la página de inicio.
 
TheXpert:
Probablemente sea la única manera.

Entonces, ¿por qué no funciona?

@Ilyas@Slava?

Razón de la queja: