Разъяснение в блоках Obj C - PullRequest
       10

Разъяснение в блоках Obj C

4 голосов
/ 30 января 2012

Почему это ошибка?

float (^isFloat)(float) = ^(float d)
{
    return d*2.0;
};

В некоторых случаях следующее без ошибок,

float (^isFloat)(float) = ^(float d)
{
    return d;
};

Пожалуйста, помогите мне понять.

1 Ответ

9 голосов
/ 30 января 2012

Поскольку ваш тип возврата в первом блоке неверен.

Вы определили, что блок должен возвращать float, но вы умножили float на double.Если вы измените его на d * 2.0f, все должно работать нормально.

...