Почему это ошибка?
float (^isFloat)(float) = ^(float d) { return d*2.0; };
В некоторых случаях следующее без ошибок,
float (^isFloat)(float) = ^(float d) { return d; };
Пожалуйста, помогите мне понять.
Поскольку ваш тип возврата в первом блоке неверен.
Вы определили, что блок должен возвращать float, но вы умножили float на double.Если вы измените его на d * 2.0f, все должно работать нормально.
float
double
d * 2.0f