Errores, fallos, preguntas - página 1583

 

El compilador no detectará un error si el nombre de la clase y el puntero de la función son iguales

class fn {};
typedef void (*fn)();
void OnStart()
{
        Print( sizeof( fn ));
}
 

Problema: Al probar un EA en la nube, todo va bien. Detengo la optimización, después de algún tiempo la vuelvo a iniciar - los errores OnInit fallidos siguen llegando. Ayuda a cambiar el nombre de EA a un archivo con otro nombre y ejecutar la optimización en la nube con los mismos parámetros, sin errores.

Creo que puede deberse a que durante el proceso de inicialización el EA necesita acceder a los caracteres, además del utilizado para iniciar la prueba.

Últimamente estoy usando mucho la nube y estoy gastando dinero real en ella, así que por favor no ignoren el reporte de errores. No puedo proporcionar el código del Asesor Experto, de inmediato, porque pertenece al cliente.

P.D. Ahora durante la prueba por alguna razón el terminal se desconectó del servidor de la nube y se volvió a conectar a él y estos errores comenzaron de nuevo, incluso sin reiniciar la prueba

 
Comentario(1/100); salidas 0, ¿por qué y cómo lo combato?
 
Aliaksandr Kryvanos:
Comentario(1/100); salidas 0, ¿por qué y cómo lo combato?

Por ejemplo: Comment((double)1/100);

O como esto: Comentario(1.0/100);

 

No, no funciona así, 0 pone


He utilizado todo el arsenal (double, DoubleToStr, Normalize...), pero nada

 
Aliaksandr Kryvanos:
No, no funciona así, pone 0
Acabo de probar en ambos terminales, funciona bien y pone 0,01
 
Aliaksandr Kryvanos:
No, no funciona así, pone 0.
Por lo tanto, muestre explícitamente al compilador que los números son válidos: Comment(1.0/100.0); o Comment(1.0*0.01);
 

я использовал весь арсенал (double, DoubleToStr, Normalize...), но вот никак

DoubleToStr y Normalize no funcionarán, porque la expresión en sí misma es int a menos que sea explícitamente convertida a double. Lo más probable es que no hayas reproducido con exactitud mi ejemplo y hayas sacado conclusiones precipitadas.
 
Gracias, está funcionando).
 

Da la sensación de que un mismo agente con bajo PR, que recibe una corrida tras otra, carece de memoria y revienta alguna parte de la optimización (otros agentes tienen suficiente y todo localmente funciona bien). ¿Por qué no eliminar inmediatamente estos agentes de las pruebas de continuación?