Abrangência
Versão 17.3.0.0 e superiores
Variadic é um tipo de dado para ser utilizado em funções que necessitam receber uma quantidade variável de parâmetros.
Para sua correta utilização, a função deve estar com os tipos de todos os parâmetros devidamente definidos, além disso, o parâmetro Variadic deve aparecer apenas uma vez e sempre na última posição da lista de parâmetros.
Para saber a quantidade de parâmetros que foram passados em uma chamada de função que utiliza o Variadic, basta acessar a propriedade :vCount.
Para acessar os parâmetros propriamente ditos, deve-se acessar a propriedade :vArgs[<posição do parâmetro>].
Para ilustrar a utilização, no exemplo a seguir temos uma função que recebe uma quantidade variável de parâmetros e imprime todos os valores recebidos:
function exemploVariadic( parm as Variadic ) local nIndex := 0 if ( valtype( parm ) == "U" ) conout( " sem parametros variadic!" ) else for nIndex := 1 to parm:vCount conout(" Parametro variadic '" + cValToChar(nIndex) + "': " + cValToChar(parm:vArgs[nIndex]) ) next endif return