# Bug: Struct undefined ## Descripcion Este bug consiste en qeu el compilador falla al intentar callear una fucnion template de clase\struct definida fuera del cuerpo de dicha clase\struct todo esto dentro de un namespace. Tengo una hipotesis que esto pasa, dado qeu cuando el compilador lee el calling a una funcion template. en OnStart o en un scope global fuera del namespace, trata de instanciar la funcion espeicia en base a los parmaeotrs del template DENTRO del escope actual (global por ejemplo) y debido a eso al terminar el proceso (o quizas ahi) mismo como digmoas la clase que tiene dicha funcion esta definida en un scope diferente falla, dado que la instnacion de la funcion se dio en global pero la clase define diha funcion dentro de un escope del namespace... esto es una hipotesis probable, aunque sincemante no se como fuincionara el compilador de mql5 por dentro dado qeu es cerrado no hay docs que profundizen de parte de mql5 como funciona su motor al momento de parsear los templates. Aparte algo a mencionar es que este bug no es neuvo ya lleva tiempo pero igual lo dejare aqui como recuerdo ## Estado - Build: 6140 (o menos incluso, no tengo la build exacta desde donde emepzo) - Fecha exacta: 2026-09-02 (fehca que lo reporto, NO LA FECHA DONDE APARECIO) - Error que reporta el Metaeditor: `Struct undefined` ## Reproducibilidad En Repro.mq5 esta la forma de reproducirlo ## Solucion (puede aplicar a esta build o quizas se arregle asi que ya no sera necesario) Lo que ha funcionado durante estos meses fue que cuando ocurren este tipos de erorres, la solcuion es definir el body de la funcion DENTRO del cuerpo de la clase (NO FUERA).. Esto por lo visto hace que el compilador logre pasearlo o algo asi.. por lo visto las funciones templates ah de tener otro trato que las normales dado que son "on demand" al igual qeu todas, pero implican un proceso de espeicliacion pro calling. ## Donde se encontro - Repositorio: https://forge.mql5.io/nique_372/CryptoByLeo/src/branch/main/Src/Fernet/Main.mqh - Commit exacto (hash): `30eb0eb0f44f1ce291980d995f97c244762e72b8` - Archivo exacto: `GrapichsByLeo\General\EjeLine\Ejes.mqh` - LOC: 87-88 - Link exacto: `https://forge.mql5.io/nique_372/CryptoByLeo/src/commit/30eb0eb0f44f1ce291980d995f97c244762e72b8`