我正在尝试编写一个 bool 函数,该函数查看包含正数或负数的数组中的第一个索引,并对其是否为负号(即 - )进行分类。如果它是负号,则返回假,其他一切都返回真。我试图弄清楚如何比较负号。由于'-',以下代码给出错误
bool BigNum::get_positive() const
{
char '-';
if(digits[0] == '-')
{
return false;
}
else
{
return true;
}
}
我正在尝试编写一个 bool 函数,该函数查看包含正数或负数的数组中的第一个索引,并对其是否为负号(即 - )进行分类。如果它是负号,则返回假,其他一切都返回真。我试图弄清楚如何比较负号。由于'-',以下代码给出错误
bool BigNum::get_positive() const
{
char '-';
if(digits[0] == '-')
{
return false;
}
else
{
return true;
}
}
char '-';
编译器认为您正在尝试声明一个字符,但这不是一个有效的声明。
您的整个功能可以替换为:
return (digits[0] != '-');
当然,这是假设[0]
是 的有效索引digits
。如果没有,坏事就会发生。如果您知道数组的长度,则可以进行如下检查:
if( digits_length < 1 )
return false;
return (digits[0] != '-');
您必须删除或评论“char '-';”
错误在于行字符'-'。'-' 应该存储在某个变量中,稍后可以在if子句中使用该变量进行比较。这是一个语法错误,因为您没有为“-”定义存储。
否则,如上所述,只需删除此行并在if中使用 '-' 即可(因为您已经这样做了)