предупреждение: передача аргумента 1 из 'setOn:' делает целое число из указателя без приведения - PullRequest
0 голосов
/ 15 августа 2011

Я новичок в Задаче C, поэтому я прошу прощения, если это глупый вопрос.Я получаю эту ошибку в следующем коде.

Я использую recurringBool в качестве глобальной переменной

//Declared in the AppDelegate.h
extern BOOL *recurringBool;

//Defined in the AppDelegate.m
BOOL *recurringBool;

// In another class this method sets recurringBool
- (IBAction)MakeRecurring:(id)sender {
    UISwitch *Switch = (UISwitch *)sender;
    //this is where the 1st error is occurring. aNetS is a UISwitch
    recurringBool = Switch.on;
        **//warning: assignment makes pointer from integer without a cast**
}

//And in another method aNetS is set to recurringBool;
//this is where the second error is occurring. aNetS is a UISwitch
aNetS.on = recurringBool;
    //warning: passing argument 1 of 'setOn:' makes integer from pointer without a cast

Я не уверен, почему я получаю эти ошибки, так как recurringBool не являетсяцелое число.Поэтому я должен предположить, что я использую это неправильно.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

6 голосов
/ 15 августа 2011

Удалите * из вашей декларации BOOL.BOOL - это не указатель.

0 голосов
/ 15 августа 2011

BOOL - это примитивный тип, не объект Objective-C. Обычно вы используете его в сыром виде, например int или float, а не через указатель. Так что объявляйте BOOL recurringBool; вместо BOOL *recurringBool;.

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