如何将枚举传递给方法而不将其作为整数传递
How to pass an enum to a method without passing it as an integer
I 有一个包含 3 个不同值的枚举
enum
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
} InputValidation;
我正在尝试将这三个枚举值之一传递给方法,并尝试了以下方法。
bool methodName(enum InputValidation inputenum)
bool methodName(InputValidation inputenum)
和 OFC
bool methodName(int inpoutenum)
(这三个都称为方法名称(InputValidation_Number( (
我知道最后一个会"工作",但允许所有整数作为参数。如何编写仅接受输入验证值的方法?
你的枚举定义是错误的,它应该是:
enum /*class*/ InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
然后,您可以使用:
bool methodName(InputValidation inputenum);
通过添加class
来尝试作用域枚举,如下所示:
enum class InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
欲了解更多信息:https://en.cppreference.com/w/cpp/language/enum
相关文章:
- C++/错误:表达式必须具有整数或无作用域枚举类型
- 给枚举一个整数,并在 C++ 中将其相关值作为字符串获取
- 生成整数长度的枚举数组
- 涉及旧式枚举和整数类型的重载解析
- C++ 在方程中使用变量;错误:表达式必须具有整数或无作用域枚举类型及其他
- C ++枚举可以与整数进行比较,但不能从整数分配?
- 如何将枚举传递给方法而不将其作为整数传递
- 元编程构造,它返回枚举的基础类型和迭代器的整数
- 三重限制的正整数组合的非递归枚举
- 如何编写模板以转换为基于整数/枚举的模板化类型
- 错误:以增量方式填充向量时,表达式必须具有整数或无作用域枚举类型
- 为什么不用static_cast的整数来初始化强大的枚举
- 从用户输入中提取整数的枚举开关语句
- 从整数到枚举的首选转换样式 QEvent::Type
- C 示波器的枚举是隐式转换为整数的
- 从整数到枚举值时,如何和何处检查错误
- 阵列索引(转换为整数)用范围枚举
- 将枚举类型转换为整数,反之亦然
- 表达式必须具有整数或枚举类型
- c++非顺序整数枚举的最佳方法是什么?