1

我有一个包含 3 个不同值的枚举

enum
{
    inputValidation_Zipcode,
    inputValidation_String,
    inputValidation_Number
} InputValidation;

我正在尝试将这三个枚举值之一传递给一个方法,并尝试了以下方法。

bool methodName(enum InputValidation inputenum)

bool methodName(InputValidation inputenum) 

和办公室

bool methodName(int inpoutenum) 

(所有三个都称为 methodName(InputValidation_Number) )

我知道最后一个会“工作”,但允许所有整数作为参数。如何编写仅接受 inputValidation 值的方法?

4

2 回答 2

4

你的枚举定义是错误的,应该是:

enum /*class*/ InputValidation
{
    inputValidation_Zipcode,
    inputValidation_String,
    inputValidation_Number
};

然后你可以使用:

bool methodName(InputValidation inputenum);
于 2019-07-10T21:42:08.307 回答
1

通过添加以下内容来尝试作用域枚举class

enum class InputValidation
{
    inputValidation_Zipcode,
    inputValidation_String,
    inputValidation_Number
};

欲了解更多信息: https ://en.cppreference.com/w/cpp/language/enum

于 2019-07-10T21:45:13.663 回答