我正在尝试创建一个方法/函数,它可以在两种模式下工作:位或十六进制 用户(程序员)在传递值和模式参数时应调用此方法 我想将mode参数限制为" bin"或" hex"。 当用户传递另一个不需要的值时,是否可能生成编译器错误或警告(或预编译器错误):例如" dec" ?
可接受参数的示例:
int decValueFromHex = convertToDec("111011","hex");
int decValueFromBin = convertToDec("111011","bin");
以下是不需要的,需要以某种方式生成错误。 (在最终编制之前)
int decValueFromDec = convertToDec("111011","dec");
int decValueFromMood = convertToDec("111011","hey");
答案 0 :(得分:3)
没有。您无法对此类参数应用规则。这就是使用enum
背后的全部观点。
试试这个:
enum Mode
{
bin, hex
}
convertToDec("111011",Mode.hex);