簡體   English   中英

如何將枚舉傳遞給方法而不將其作為整數傳遞

[英]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
};

有關更多信息: https : //en.cppreference.com/w/cpp/language/enum

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM