Проблемы с #define - ожидаемое выражение перед токеном "=" - PullRequest
13 голосов
/ 01 апреля 2011

Вопрос новичка: я осмелился ввести константы в мою маленькую программу. Сначала я сопротивлялся, но потом подумал, что мне следует попробовать ... увидеть, что это не работает.

Хорошо, это то, что я поместил в самую первую строку моего файла .m:

#define kPageCurlSpeed = 2.5;

И вот что я добавил в свой метод:

[UIView setAnimationDuration:kPageCurlSpeed];

И вот ... это не работает, и я получаю сообщение компилятора, что "ожидаемое выражение перед" = "токен" ... Я не знаю, как перевести это на английский.

Я думал, что компилятор просто заменяет kPageCurlSpeed ​​на 2.5 - так что это не должно вызывать никаких проблем. Но я думаю, это всего лишь теория.

Любая помощь будет принята с благодарностью.

1 Ответ

41 голосов
/ 01 апреля 2011

Вам не нужно = в #define или точке с запятой впоследствии. Просто используйте

#define kPageCurlSpeed  2.5

Прочитайте, например, эта статья в википедии о препроцессоре C.

...