[英]How to pass an enum to a method without passing it as an integer
我有一個包含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值的方法?
您的枚舉定義是錯誤的,應該是:
enum /*class*/ InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
然后,您可以使用:
bool methodName(InputValidation inputenum);
通過添加class
來嘗試對作用域枚舉進行嘗試,如下所示:
enum class InputValidation
{
inputValidation_Zipcode,
inputValidation_String,
inputValidation_Number
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.