我有一个包含3个不同值的枚举
enum
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
} InputValidation;
我试图将这三个枚举值之一传递给方法,并尝试了以下方法。
bool methodName(enum InputValidation inputenum)
bool methodName(InputValidation inputenum)
和ofc
bool methodName(int inpoutenum)
(这三个全称为methodName(InputValidation_Number))
我知道最后一个将“起作用”,但允许所有整数作为参数。如何编写仅接受inputValidation值的方法?
答案 0 :(得分:4)
您的枚举定义错误,应该是:
enum /*class*/ InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
然后您可以使用:
bool methodName(InputValidation inputenum);
答案 1 :(得分:1)
通过添加class
来使作用域枚举如下:
enum class InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};