Как использовать оператор присваивания * = для умножения значения на десять? - PullRequest
1 голос
/ 19 марта 2012

Проще говоря:

current *= 10;

Возвращает ошибку сборки "недопустимые операнды в двоичном *".

int *current = 0;

- (void)bOnePress:(id)sender {
    current *= 10;
    current += 1;
    [resultDisp setText:[NSString stringWithFormat: @"%i", current]];
}

Google не скажет мне, что я делаю неправильно, поэтомуЯ спрашиваю здесь.: S

Редактировать: ОТВЕТ:

int current = 0;

Удалить *.

Ответы [ 4 ]

3 голосов
/ 19 марта 2012

Вы объявили свою переменную как указатель на адрес памяти 0, а не как целочисленную переменную, которую можно умножить.

2 голосов
/ 19 марта 2012

Вы объявили указатель на целое число, а не целое число. Вы, вероятно, хотите что-то вроде

int current = 0;

Не путайте с Objective-C манерой иметь дело с объектами. Это всегда указатели, но int - это просто int, это сам по себе тип. Вы будете использовать указатель на int только тогда, когда хотите сослаться на другую часть в памяти, которая содержит int.

1 голос
/ 19 марта 2012
*current *= 10;
1 голос
/ 19 марта 2012

Вы умножаете указатель на десять, а не на значение.

следует читать:

*current *=10;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...