Я получаю сообщение об ошибке как ожидаемое выражение перед маркером '='.
#define RMH_MAX_UNENCODED_LENGTH= (RMH_MESSAGE_MAX_SIZE - RMH_ENCODED_MSG_OVERHEAD); // RMH_MAX_UNENCODED_LENGTH =4064 #define RMH_MAX_ENCODED_LENGTH = (3*sizeof(RMH_MAX_UNENCODED_LENGTH) / 4);//RMH_MAX_ENCODED_LENGTH =4; int k = RMH_MAX_UNENCODED_LENGTH; //Error:expected expression before '=' token NSLog(@"f:%d",k);
Ваш синтаксис неправильный.Используйте:
#define RMH_MAX_UNENCODED_LENGTH (RMH_MESSAGE_MAX_SIZE - RMH_ENCODED_MSG_OVERHEAD)
Примечание: нет =, нет ;, без комментариев после него.
=
;
define s - это «просто» подстановки чистого текста.
define
Вы не хотите "=" или ";"в этих #define заявлениях.Синтаксис ...
#define symbol value
Это хорошая идея, чтобы поставить скобки, как вы сделали.
Это просто C, здесь нет "Ojbective"Возможно, вы захотите взять книгу по Си, чтобы узнать такие вещи.