2011-05-17 122 views
2

我在'='標記之前收到了預期表達式的錯誤。錯誤:在'='標記之前的預期表達式

#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); 
+0

[#define問題 - 「=」標記之前的期望表達式的問題的可能重複(http://stackoverflow.com/questions/5516442/problems-with-define-expected-expression-before-token) – alk 2015-03-28 17:52:35

回答

6

您的語法錯了。用途:

#define RMH_MAX_UNENCODED_LENGTH (RMH_MESSAGE_MAX_SIZE - RMH_ENCODED_MSG_OVERHEAD) 

注:沒有=,沒有;,之後沒有發表評論。

define s是「簡單」純文本替換。

4

你不想要「=」或「;」在那些#define語句中。語法是...

#define symbol value 

這是一個好主意,就像你所做的那樣放置圓括號。

這只是簡單的C,沒有「Ojbective」的東西在這裏。你可能想拿起一本關於C的書來學習這樣的事情。

相關問題