Errores, fallos, preguntas - página 1964

 
fxsaber:
...

La verdad es que ha tardado mucho en llegar. Tal vez no soy el único que está molesto.


Sí, no eres el único. )

 
fxsaber:

Por favor, explique el tipo de. No he podido encontrar una buena explicación para los programadores sin experiencia.

He borrado estas líneas (accidentalmente).

Usted tiene https://www.mql5.com/ru/forum/1111/page1983#comment_5616331 una entrada similar como esta

template<typename T>
void g( T Value ) { Print(typename(Value)); }
Diferencia sin importancia: no hay valor, porque es redundante
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2017.08.16
  • www.mql5.com
Форум алго-трейдеров MQL5
 
typedef void (*fn)();
void f() {}
void OnStart()
{
        fn ff = f;                   //Результат:
        Print( "1:", typename( ff )); //void(*fn)()
        Print( "2:", typename( f  )); //пусто
}
Vacío... ¿por qué?
 

Búsqueda de archivos: Cadena de búsqueda: 'A\t\tB A'

Faltan caracteres de tabulación en la frase resultante: Buscar 'AB A' en la carpeta 'W:'

No afecta a los resultados de la búsqueda, pero puede causar confusión.



Поиск - Инструменты - Пользовательский интерфейс - Справка по MetaEditor
Поиск - Инструменты - Пользовательский интерфейс - Справка по MetaEditor
  • www.metatrader5.com
В данном окне отображаются результаты глобального поиска и поиска в файлах. Информация представляется в виде таблицы со следующими полями...
 
A100:
Vacío... ¿por qué?
void f() {}
void f( int ) {}
 
ffxsaber:

Has vuelto a añadir ambigüedad

#ifdef __cplusplus
void f() {}
void f( int ) {}
void OnStart()
{
        void *ff = &f; //Error: E2336
}
#endif
mientras f estaba solo, no había ambigüedad
 
A100:

Has vuelto a añadir ambigüedad.

mientras haya una f, no hay ambigüedad

¡Exactamente! Ahora puedo llamar a f todo tipo de funciones y a una variable a la vez. Debe haber algo de sentido común en estas ambigüedades, para no provocar errores aleatorios. En mi opinión, es lógico dar un rodeo emitiendo una cadena vacía a typename f, en lugar de generar problemas cuando accidentalmente se coge y se define otra f.

 
fxsaber:

¡Exactamente! Ahora puedo llamar a f todo tipo de funciones y variables a la vez.

Así que tal vez esta posibilidad sea el origen de los errores ocultos.

#ifdef __cplusplus
void f() {}
static char f; //Error: E2238 
#endif
 
A100:

Así que tal vez ese sea el origen de los bichos ocultos.

Me gusta esa posibilidad. Sólo hay que ser consciente de lo que se hace.

 
fxsaber:

Por cierto... IsStopped() devuelve un bool

void OnStart()
{
        Print( typename( IsStopped())); //bool
        Print(           IsStopped() ); //0
        Print( typename( _StopFlag  )); //int
}

Esta impresión distorsiona el resultado (0 en lugar de falso). En cualquier caso la contradicción no está (sólo) en la documentación

https://www.mql5.com/ru/forum/1111/page1980#comment_5612130

Razón de la queja: