Se ha declarado una cadena de texto o puntero dos veces, como parámetro y como dato privado, y en ambas declaraciones se ha especificado una longitud diferente.
No es necesario volver a declarar este dato como privado, pudiendo especificar su longitud en los mismos parámetros del proceso.
PROGRAM nombre_del_programa; BEGIN //... END PROCESS mi_proceso(string mi_cadena[16]) BEGIN //... END
El proceso de este ejemplo recibe un parámetro en una cadena privada (aunque no se indique en esta sección) de hasta 17 carácteres de longitud (desde mi_cadena[0] hasta mi_cadena[16]).
El proceso anterior podría haber vuelto a declarar esta cadena en la sección PRIVATE (por ejemplo, para añadir un comentario explicativo), pero debiendo coincidir, en este caso, la longitud con la anteriormente especificada. Es decir, que mi_cadena se declararía como se muestra en el siguiente ejemplo.
PROGRAM nombre_del_programa; BEGIN //... END PROCESS mi_proceso(string mi_cadena[16]) PRIVATE string mi_cadena[16]; // Aquí me pasarán un texto. BEGIN //... END