0
所以我有在頭文件(實際上是y.tab.h文件)這樣的定義:lextestpass.l:384:錯誤:「INT」之前預期表達
typedef enum yytokentype {
TOKEN_UNKNOWN = 1000,
TOKEN_ABBREV = 1001,
TOKEN_AT = 1002,
TOKEN_COMMA = 1003,
TOKEN_COMMENT = 1004,
TOKEN_ENTRY = 1005,
TOKEN_EQUALS = 1006,
TOKEN_FIELD = 1007,
TOKEN_INCLUDE = 1008,
TOKEN_INLINE = 1009,
TOKEN_KEY = 1010,
TOKEN_LBRACE = 1011,
TOKEN_LITERAL = 1012,
TOKEN_NEWLINE = 1013,
TOKEN_PREAMBLE = 1014,
TOKEN_RBRACE = 1015,
TOKEN_SHARP = 1016,
TOKEN_SPACE = 1017,
TOKEN_STRING = 1018,
TOKEN_VALUE = 1019
} token_t;
,這是的一部分
static token_t out_token(token_t t)
{
int n;
int temp;
if (1)
{
temp = int(t);
temp = 1000-temp;
(void)printf("this is the value of the array : %d\n",temp);
(void)printf("%d\t%s\t", (int)t, type_name[temp]);
}
但它給我下面的錯誤:
lextestpass.l:384: error: expected expression before ‘int’
是不是因爲類型轉換的,我使用的功能?
您先生,非常出色。我忽略了一件小事。 *尷尬的時刻*謝謝。 – Achint 2011-04-20 23:03:33
不,我不太聰明。我只是另一個總是犯這種錯誤的傻瓜。 – 2011-04-20 23:08:36