如何判断数组中的第一个索引是否为负号

Sea*_*ean 0 c++ boolean negative-number

我正在尝试编写一个bool函数,它查看包含正数或负数的数组中的第一个索引,并将其分类为负号(即 - ).如果它是否定符号则返回false其他所有返回true.我想弄清楚如何比较负号.以下代码因" - "而出错

    bool BigNum::get_positive() const
{
char '-';
if(digits[0] == '-')
{
    return false;
}
else
{
    return true;
}
}
Run Code Online (Sandbox Code Playgroud)

Ans*_*son 5

char '-';
Run Code Online (Sandbox Code Playgroud)

编译器认为您正在尝试声明一个char,但这不是一个有效的声明.

您的整个功能可以替换为:

return (digits[0] != '-');
Run Code Online (Sandbox Code Playgroud)

当然,这是假设它[0]是一个有效的索引digits.如果没有,坏事就会发生.如果您知道数组的长度,可以像这样检查:

if( digits_length < 1 )
  return false;
return (digits[0] != '-');
Run Code Online (Sandbox Code Playgroud)