我找不到一种方法来检查传递给变量的值是否正确。
例如:我已经将char传递给int变量,我想检查它是否在int(?)内部。我考虑过检查发送的参数是否在ascii表中,但是我找不到这作为最佳解决方案。一些代码:
Martice m('q');
何时
Martice (int _arg) : pass(_arg) { allocation(); };
我知道我可以使用此方法检查输入:
if (std::cin.fail() == true) {
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
但我的意思是在将其作为参数传递之后再进行检查。
如果要区分字符和整数,则可以使用Martice
构造函数的重载。因此,您有一个构造函数采用int
,而另一种则采用char
。
如果要禁止传递char
,则可以将char
重载标记为已删除:
Martice(char) = delete;