J'essaye d'instancier un objet 'Bug bug' avec 3 paramètres et l'un d'entre eux est énumérateur. Voici ma classe:Comment instancier un objet avec un paramètre enum en C++?
class Bug
{
private:
int Id;
string description;
enum severity { low, medium, severe} s;
public:
Bug(void);
Bug(int id, string descr, severity x)
:Id(id), description(descr), s(x)
{}
void printDetails()
{
cout<< "Severity level:" <<s<< " Description: " <<description<<" ID= "
<<Id<< endl;
}
~Bug(void);
};
ceci est mon main.cpp:
#include "Bug.h"
int main(){
Bug bg(3,"a", low);//Error message: identifier "low" is undefined
return 0;
}
quand j'ai ajouté cette ligne à la principale
enum severity { low, medium, severe};
le message d'erreur a changé à ceci:
Bug bg(3,"a", low);//Error message: no instance of constructor "Bug::bug" matches the argument list
Toutes les idées comment faire ça bien?
'Essayez Bug :: low' ou' Bug :: :: gravité low'. – apalomer
Déplacez la définition enum vers la section publique. main() ne peut pas le voir, parce que c'est privet. –