有一种方法可以检查发送到变量的值是否已经在该变量下,是否为正确类型?

问题描述 投票:0回答:1

我找不到一种方法来检查传递给变量的值是否正确。

例如:我已经将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');
        }

但我的意思是在将其作为参数传递之后再进行检查。

c++ arguments
1个回答
0
投票

如果要区分字符和整数,则可以使用Martice构造函数的重载。因此,您有一个构造函数采用int,而另一种则采用char

如果要禁止传递char,则可以将char重载标记为已删除:

Martice(char) = delete;
© www.soinside.com 2019 - 2024. All rights reserved.