- Códigos de retorno del servidor comercial
- Advertencias del compilador
- Errores de compilación
- Errores de tiempo de ejecución
Errores de compilación
MetaEdtior 5 (editor de programas mql5) muestra mensajes sobre los errores del programa que han sido detectados por el compilador built-in durante el proceso de compilación. La lista de estos errores viene en la tabla de abajo. Para compilar el código fuente en un código ejecutable pulse F7. Los programas que tienen errores no podrán ser compilados hasta que los errores especificados por el compilador no sean corregidos.
Número |
Descripción |
---|---|
Error de lectura de archivo |
|
Error de apertura de un archivo *.EX5 con el fin de escribirlo para guardar |
|
Memoria insuficiente para terminar la compilación |
|
Unidad sintáctica vacía no reconocida por el compilador |
|
Nombre del archivo incorrecto en #include |
|
Error de acceso a un archivo en #include (tal vez el archivo no exista) |
|
Nombre inapropiado para #define |
|
Comando desconocido del preprocesador (estos valen #include,#define,#property,#import) |
|
Símbolo desconocido para el compilador |
|
Función sin implementar (hay descripción, pero no hay cuerpo) |
|
Falta comilla doble (") |
|
Falta paréntesis angular izquierdo (<) o comilla doble (") |
|
Falta comilla simple (') |
|
Falta paréntesis angular derecho ">" |
|
En declaración no está especificado el tipo |
|
No hay operador de retorno return, o hay pero no en todas las ramas de ejecución |
|
Se esperaba el corchete que abre del parámetro de la llamada |
|
Error de escritura EX5 |
|
Acceso incorrecto a los elementos de un array |
|
Función no tiene el tipo void y el operador return debe devover un valor |
|
Declaración del destructor incorrecta |
|
Faltan dos puntos ":" |
|
Variable ya está declarada |
|
Variable con este identificador ya está declarada |
|
Nombre de variable muy largo (>250 caracteres) |
|
Estructura con este identificador ya está definida |
|
Estructura no definida |
|
Miembro de estructura con este nombre ya está definido |
|
No existe este miembro de estructura |
|
Corchetes no hacen pareja |
|
Se espera el paréntesis izquierdo "(" |
|
Llaves sin hacer pareja ( falta "}" ) |
|
Complicado para la compilación (muchísimas ramas, la pila entera de niveles rellena) |
|
Error de apertura de un archivo para la lectura |
|
Falta memoria para cargar archivo de origen en la memoria |
|
Se espera una variable |
|
Referencia no puede ser inicializada |
|
Se esperaba asignación (surge con la declaración) |
|
Se espera la llave izquierda "{" |
|
Sólo un array dinámico puede figurar como parámetro |
|
Uso del tipo "void" es inadmisible |
|
No hay par para ")" o "]", es decir, falta "(" o "[" |
|
No hay par para "(" o "[", es decir, falta ")" o "]" |
|
Tamaño del array incorrecto |
|
Demasiados parámetros (>64) |
|
Este token no se espera aquí |
|
Uso de operación inadmisible (operandos incorrectos) |
|
Expresión del tipo void es inadmisible |
|
Se espera operador |
|
Uso incorrecto de break |
|
Se espera punto y coma ";" |
|
Se espera coma "," |
|
Tiene que ser un tipo de clase, y no de estructura |
|
Se esperaba una expresión |
|
En HEX hay "un símbolo que no es HEX" o número demasiado largo (número de dígitos > 511) |
|
Cadena-constante tiene más de 65534 símbolos |
|
Definición de una función aquí es inaceptable |
|
Fin de programa inesperado |
|
Declaración adelantada está prohibida para las estructuras |
|
Función con este nombre ya está definida y tiene otro tipo del valor de retorno |
|
Función con este nombre ya está definida y tiene otro conjunto de parámetros |
|
Función con este nombre ya está definida y implementada |
|
No se ha encontrado la sobrecarga para esta función |
|
Función con valor devuelto del tipo void no puede devolver valor |
|
Función no definida |
|
Se espera un valor |
|
En la expresión case se aceptan sólo las constantes de números enteros |
|
Valor para case en este switch ya ha sido usado |
|
Se espera el valor de números enteros |
|
En la expresión #import se espera el nombre de archivo |
|
Expresiones a nivel global no están permitidas |
|
Falta paréntesis ")" antes de ";" |
|
A la izquierda del signo igualdad se supone una variable |
|
Resultado de la expresión no se usa |
|
Declaración de las variables en case no se permite |
|
Conversión implícita de una cadena a un número |
|
Conversión implícita de un número a una cadena |
|
Llamada ambigua a una función sobrecargada (valen varias sobrecargas) |
|
Inadmisible else sin correspondiente if |
|
Inadmisible case o default sin correspondiente switch |
|
Uso inadmisible de elipse |
|
La sucesión inicializadora tiene más elementos que la variable inicializada |
|
Se espera una constante para case |
|
Se requiere una expresión constante |
|
Una variable constante no puede ser cambiada |
|
Se espera una paréntesis o coma (declaración del miembro del array) |
|
Identificador de la enumeración ya se utiliza |
|
Enumeración no puede tener modificadores de acceso (const, extern, static) |
|
Miembro de enumeración ya ha sido declarado con otro valor |
|
Existe una variable definida con el mismo nombre |
|
Existe una estructura definida con el mismo nombre |
|
Se espera el nombre del miembro de enumeración |
|
Se espera una expresión de números enteros |
|
División por cero en una expresión constante |
|
Número de parámetros incorrecto en la función |
|
Parámetro por referencia tiene que ser una variable |
|
Se espera una variable del mismo tipo para pasarla por referencia |
|
Una variable constante no puede ser pasada por referencia no constante |
|
Se requiere una constante positiva de números enteros |
|
Error de acceso a un miembro de clase protegido |
|
Importación ya está definida por otro medio |
|
Archivo ejecutable no está creado |
|
Punto de entrada 'OnCalculate' para el indicador no ha sido encontrado |
|
Operador continue puede ser usado sólo dentro del ciclo |
|
Error de acceso al miembro de clase private (cerrado) |
|
Método de estructura o clase no está declarado |
|
Error de acceso al método de clase private (cerrado) |
|
No se permite copiar las estructuras con objetos |
|
Índice sale del rango de array |
|
No se permite la inicialización de arrays en la declaración de métodos o clases |
|
Constructor de clase no puede tener parámetro |
|
Destructor de clase no puede tener parámetro |
|
Ya está declarado método de clase o estructura con este nombre y parámetros |
|
Se espera un operando |
|
Ya existe método de clase o estructura con este nombre pero con otros parámetros (declaración!=implementación) |
|
Función importada sin describir |
|
La función ZeroMemory() no está permitida para las clases con miembros protegidos o herencia |
|
Llamada ambigua a una función sobrecargada (coincidencia exacta de parámetros para varias sobrecargas) |
|
Se espera el nombre de variable |
|
No se puede declarar una referencia en este sitio |
|
Ya se usa como el nombre de enumeración |
|
Se espera clase o estructura |
|
No se puede llamar a delete para eliminar el array |
|
Se espera el operador ' while ' |
|
El operador delete tiene que tener un puntero |
|
Ya hay default para este switch |
|
Error sintáctico |
|
Sucesión escape puede encontrarse sólo en las cadenas (se empieza desde '\' ) |
|
Se requiere una matriz corchete cuadrado '[' no pertenece a la matriz, o como parámetro-matriz ofrecen no matriz |
|
No puede ser inicializado mediante la sucesión inicializadora |
|
Importación no definida |
|
Error del optimizador en el árbol sintáctico |
|
Han sido declaradas demasiadas estructuras (simplifique el programa) |
|
Conversión del parámetro no está permitida |
|
Uso incorrecto del operador delete |
|
No se puede declarar un puntero a una referencia |
|
No se puede declarar una referencia a una referencia |
|
No se puede declarar un puntero a un puntero |
|
Declaración de estructura en la lista de parámetros es inadmisible |
|
Operación de conversión de tipos inadmisible |
|
Un puntero puede ser declarado sólo para una clase o estructura |
|
Identificador no declarado |
|
Error del optimizador del código ejecutable |
|
Error de generación del código ejecutable |
|
Expresión inadmisible para el operador switch |
|
Pool de constantes de cadenas está sobrelleno, simplifique el programa |
|
Imposible convertir a una enumeración |
|
No se puede usar virtual para los datos (miembros de clase o estructura) |
|
No se puede llamar al método de clase protegido |
|
Función virtual sobrescrita devuelve otro tipo |
|
No se puede heredar una clase de una estructura |
|
No se puede heredar una estructura de una clase |
|
Constructor no puede ser virtual (especificador virtual es inadmisible) |
|
Estructura no puede tener métodos virtuales |
|
Una función debe tener curpo |
|
Sobrecarga de funciones de sistema (funciones del terminal) está prohibida |
|
Especificador const está prohibido para las funciones que no son miembros de una clase o estructura |
|
No se puede cambiar miembros de clase en el método constante |
|
Sucesión inicializadora inapropiada |
|
Falta valor por defecto para el parámetro (particularidad de declaración de parámetros por defecto) |
|
Sobrescritura de parámetro por defecto (diferentes valores en declaración y implementación) |
|
No se puede llamar a método no constante para un objeto constante |
|
Para acceder a los miembros se necesita un objeto (un punto está puesto para no clase/estructura) |
|
No se puede usar el nombre de una estructura ya declarada para declaración |
|
Conversión no permitida (con la herencia cerrada) |
|
Estructuras y arrays no pueden ser usados como variables input |
|
Especificador const es inadmisible para un constructor/destructor |
|
Expresión de cadena incorrecto para el tipo datetime |
|
Propiedad desconocida (#property) |
|
Valor incorrecto para la propiedad |
|
Índice incorrecto para la propiedad #property |
|
Parámetro de llamada ha sido omitido < func(x,) > |
|
Objeto tiene que ser pasado por referencia |
|
Array tiene que ser pasado por referencia |
|
Función ha sido declarada como importada |
|
Función ha sido declarada como exportada |
|
No se puede exportar una función importada |
|
Función importada no puede tener este parámetro (no se puede pasar puntero, clase o estructura que contiene un array dinámico, puntero, clase, etc.) |
|
Tiene que ser una clase |
|
Sección #import no está cerrada |
|
Falta de correspondencia de tipos |
|
extern-variable ya está inicializada |
|
No se ha encontrado ni una función exportada o punto estándar de entrada |
|
Prohibida la llamada explícita del constructor |
|
El método ha sido declarado como método constante |
|
El método no ha sido declarado como método constante |
|
Tamaño incorrecto del archivo de recurso |
|
Nombre del recurso incorrecto |
|
Error de apertura del archivo de recurso |
|
Error de lectura del archivo de recurso |
|
Tipo de recurso desconocido |
|
Ruta incorrecta hacia el archivo del recurso |
|
El nombre especificado del recurso ya se utiliza |
|
Se esperaban los parámetros de la macro |
|
Tras el nombre de la macro debe ir el espacio |
|
Error en la descripción de los parámetros de la macro |
|
Número de parámetros inválido a la hora de usar la macro |
|
Número máximo de parámetros (16) para la macro ha sido superado |
|
La macro es muy complicada, hay que hacerla más simple |
|
Sólo una enumeración puede ser el parámetro EnumToString() |
|
Nombre del recurso es demasiado largo |
|
Formato de imagen insoportable (se admite sólo el formato BMP con la profundidad del color de 24 o 32 bits) |
|
Prohibido declarar un array dentro del operador |
|
La función se puede definir sólo al nivel global |
|
Esta declaración es inaceptable para el área de visibilidad actual (zona de declaración) |
|
La inicialización de las variables estáticas con valores locales no está permitida |
|
La declaración de un array de objetos que no disponen del constructor por defecto no está permitida |
|
La lista de inicialización está permitida únicamente para los constructores |
|
Falta la definición de la función después de la lista de inicialización |
|
La lista de inicialización está vacía |
|
La inicialización de un array en el constructor está prohibida |
|
En la lista de inicialización está prohibido inicializar los miembros de la clase base |
|
Se esperaba la expresión del tipo entero |
|
El volumen de memoria requerido para el array supera el valor máximo permitido |
|
El volumen de memoria requerido para la estructura supera el valor máximo permitido |
|
El volumen de memoria requerido para las variables declaradas a nivel global supera el valor máximo permitido |
|
El volumen de memoria requerido para las variables locales supera el valor máximo permitido |
|
Constructor no definido |
|
Nombre inválido para el archivo del icono |
|
No se ha podido abrir el archivo del icono según la ruta especificada |
|
El archivo del icono es incorrecto y no corresponde al formato ICO |
|
La reinicialización del miembro en el constructor de la clase/estructura utilizando la lista de inicialización |
|
La inicialización de los miembros estáticos en la lista de inicialización del constructor no está permitida |
|
La inicialización del miembro no estático de la estructura/clase está prohibida a nivel global |
|
El nombre del método de la clase/estructura coincide con el nombre del miembro declarado antes |
|
El nombre del miembro de la clase/estructura coincide con el nombre del método declarado antes |
|
Una función virtual no puede ser declarada como static |
|
El modificador const no está permitido para una función estática |
|
Un constructor o destructor no pueden ser estáticos |
|
No se puede acceder a un miembro/método no estático de la clase o estructura desde una función estática |
|
Tras la palabra clave operator se espera una operación de sobrecarga (+,-,[],++,-- etc.) |
|
No todas las operaciones se puede sobrecargar en MQL5 |
|
La definición no corresponde a la declaración |
|
Número de parámetros para el operador incorrecto |
|
No se ha encontrado ninguna función del manejador de evento |
|
No se puede exportar los métodos |
|
No se puede normalizar el puntero a un objeto constante con el puntero a un objeto no constante |
|
De momento las plantillas de las clases no se soportan |
|
Sobrecarga de las plantillas de las funciones de momento no se soporta |
|
Imposible aplicar la plantilla de la función |
|
Parámetro ambiguo en la plantilla de la función (se encajan varios tipos de parámetros) |
|
Imposible determinar con qué tipo de parámetro normalizar el argumento de la plantilla de la función |
|
Número incorrecto de parámetros en la plantilla de la función |
|
Plantilla de funciones no puede ser virtual |
|
Plantillas de funciones no pueden ser exportadas |
|
No se puede importar las plantillas de funciones |
|
Estructuras que contienen objetos no están permitidas |
|
Los arrays de cadenas y las estructuras que contienen los objetos no están permitidos |
|
El miembro estático de la clase/estructura tiene que estar inicializado explícitamente |
|
Limitación del compilador: la cadena no puede tener más de 65 535 caracteres |
|
#ifdef/#endif incompatibles |
|
El objeto de la clase no puede ser devuelto porque falta el constructor del copiado |
|
No se puede usar los miembros no estáticos y/o métodos durante la inicialización de la variable estática |
|
No se puede usar OnTesterInit() sin declarar el manejador OnTesterDeinit() |
|
El nombre de la variable local coincide con el nombre de uno de los parámetros de la función |
|
No se puede usar las macros __FUNCSIG__ y __FUNCTION__ fuera del cuerpo de la función |
|
Tipo devuelto inválido. Por ejemplo, este error será mostrado para las funciones importadas desde DLL que devuelven una estructura o un puntero como resultado |
|
Error al utilizar la plantilla |
|
No se usa |
|
Sintaxis no permitida al declarar la función virtual pura, solo se permite"=NULL" o "=0" |
|
Solo las funciones virtuales pueden ser declaradas con el especificador puro ("=NULL" o "=0") |
|
La clase abstracta no puede ser instanciada |
|
Para la conversión dinámica con la ayuda del operador dynamic_cast, el tipo de designación debe ser un puntero al tipo de usuario |
|
Se espera el tipo "puntero a una función" |
|
No se da soporte a los punteros a métodos |
|
Error, no ha sido posible determinar el tipo de puntero a una función |
|
Conversión no disponible a causa de la herencia cerrada |
|
La variable con el modificador const deberá ser inicializada al declararse |
|
En la interfaz pueden ser declarados solo métodos con acceso público |
|
Colocación no permitida de la interfaz en otra interfaz |
|
La interfaz puede heredarse solo de otra interfaz |
|
Esperando interfaz |
|
Las interfaces dan soporte solo a la herencia pública |
|
La interfaz no puede contener miembros |
|
No es posible crear objetos de la interfaz directamente, solo a través por herencia |
|
No se puede usar el especificador en la declaración anticipada |
|
No es posible la herencia de esta clase, dado que ha sido declarada con el especificador final |
|
No es posible redefinir un método declarado con el especificador final |
|
El especificador final se puede aplicar solo a las funciones virtuales |
|
El método marcado con el especificador override, en realidad no se solapa con ninguna función de la clase básica |
|
El especificador no está permitido en la definición de la función, solo en la declaración |
|
No es posible convertir este tipo al indicado |
|
Este tipo no se puede utilizar para la variable de recurso |
|
Error en el archivo del proyecto |
|
No puede ser utilizado como miembro union |
|
Ambigüedad en la selección para el nombre dado, es necesario indicar explícitamente el contexto de uso |
|
No es posible usar esta estructura de DLL |
|
No es posible llamar una función marcada con el especificador delete |
|
MQL4 no tiene soporte. Para compilar este programa, utilice el MetaEditor que se encuentra en la carpeta de instalación de su terminal MetaTrader 4 |