return - função retornando enumerador

 

Boa tarde,

É possível em uma função o valor de return ser tipo enumerador ? Qual a sintaxe?


Exemplo:

Normlamente:
int    funcao_x()   //retorna um valor tipo inteiro
string funcao_x()   //retorna um valor string

O que gostaria de fazer imagino que seria aproximadamente:
enum enum_tipo_candle funcao_x()

Retorna erro "beginning bracket expected", estou tentando de diversas formas.

Tentei com void e usando no returno o resultado do enumerador.


Grato antecipadamente,

 

Olá Daniel

Será isso o que você quer?


//+---------------------------------------------------------------------------------------------------------------+ 
void OnStart()
  {
   int i=3;
   ResetLastError();
   Alert(funcX( i ));
  }
//+---------------------------------------------------------------------------------------------------------------+ 
enum {aa,bb,cc,dd} funcX(int i)
  {
   switch(i)
     {
      case  0:
         return (aa);
         break;
      case 1:
         return (bb);
         break;
      case 2:
         return (cc);
         break;
      case 3:
         return (dd);
         break;
     }
   return(0);
  }
//+---------------------------------------------------------------------------------------------------------------+ 

 

Valeu Rogério!

Consegui resolver, ficou assim:

enum enum_tipo_figura 
{
tf_NI,
tf_MARTELO,
tf_ENFORCADO,
...
};


enum_tipo_figura funcao_identificar_figura()
{
   return tf_NI;
}
 

e você pode ainda aproveitar as tags para deixar o nome que desejar.


por exemplo.


enum enum_tipo_figura 
{
tf_NI,  //NI
tf_MARTELO, //Martelo
tf_ENFORCADO, //Enforcado
...
};

// usando "//" ao lado dos ENUMERADOS ele vai usar a descrição na hora do "input" ao invês do nome "feio" tf_alguma coisa

enum_tipo_figura funcao_identificar_figura()
{
   return tf_NI;
}


input enum_tipo_figura operar_tipo=tf_ENFORCADO ;//Tipo de figura a ser operado

Razão: