Как выяснить, является ли первый индекс в массиве отрицательным знаком - PullRequest
0 голосов
/ 21 сентября 2011

Я пытаюсь написать функцию bool, которая просматривает первый индекс в массиве, который содержит положительное или отрицательное число и классифицирует, если это отрицательный знак (то есть -).Если это отрицательный знак, он возвращает ложь, все остальное возвращает истину.Я пытаюсь понять, как сравнить отрицательный знак.Следующий код выдает ошибку из-за '-'

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

Ответы [ 3 ]

5 голосов
/ 21 сентября 2011
char '-';

Компилятор считает, что вы пытаетесь объявить символ, но это недопустимое объявление.

Вся ваша функция может быть заменена на:

return (digits[0] != '-');

Конечно, это предполагает, что [0] является действительным индексом digits. Если нет, произойдут плохие вещи. Если вы знаете длину массива, вы можете выполнить такую ​​проверку:

if( digits_length < 1 )
  return false;
return (digits[0] != '-');
1 голос
/ 21 сентября 2011

Ошибка лежит в строке char '-'.Предполагается, что '-' хранится в некоторой переменной, которую позже можно использовать в , если для сравнения.Это синтаксическая ошибка, потому что вы не определили хранилище для '-'.

В противном случае, как указано выше, просто удалите эту строку и избегайте использования '-' в , если (какты уже сделал это)

1 голос
/ 21 сентября 2011

Вы должны удалить или прокомментировать "char '-';"

...