2009-07-18 5 views

Répondre

6

oui, il est très fréquent de retourner un type ENUM.

Vous voudrez mettre votre énumération en dehors de la classe puisque la fonction veut l'utiliser. Ou étendez le type de retour enum de la fonction avec le nom de classe (enum doit être dans une partie publique de la définition de classe).

class myclass 
{ 
public: 
    enum myenum{ a, b, c, d}; 

    //.... 

    myenum function(); 

    //.... 
}; 

myClass::myenum function() 
{ 
    //.... 
} 
+0

Merci beaucoup. – trikker

1

oui, définitivement.

2

Assurez-vous que le ENUM est dans la section public de votre classe:

class myclass 
{ 
    public: 
    enum myenum{POSITIVE, ZERO, NEGATIVE}; 
    myenum function(int n) 
    { 
     if (n > 0) return POSITIVE; 
     else if (n == 0) return ZERO; 
     else return NEGATIVE; 
    } 
}; 

bool test(int n) 
{ 
    myclass C; 
    if (C.function(n) == myclass::POSITIVE) 
     return true; 
    else 
     return n == -5; 
} 
Questions connexes