1
symbol.h:179: note: expected ‘uintptr_t *’ but argument is of type ‘PRECEDENCE’
相應的代碼是:我有以下的gcc彙編警告
176 void symbol_SetCount(SYMBOL, unsigned long);
177 unsigned long symbol_GetCount(SYMBOL);
178
179 size_t symbol_Ordering(uintptr_t*, SYMBOL);
180
181 void symbol_CheckIndexInRange(int);
182 void symbol_CheckNoVariable(SYMBOL);
符號被定義爲:
typedef size_t SYMBOL
的任何努力將高度讚賞。
PRECEDENCE已被修改爲:
typedef int *PRECEDENCE;
int symbol_Ordering(PRECEDENCE, SYMBOL);
這裏是symbol_Ordering的一些額外信息:
if (symbol_Equal(propSymbol, eml_Id()))
{ /* Arguments should be nil, propositional */
symbol_SetOrdering(Precedence, fol_Equality(), symbol_Ordering(Precedence, eml_Id()));
return eml_RplacWithOpAndArgs(Atom, fol_Equality(), Args)}
int symbol_ORDERING;
int symbol_GetIncreasedOrderingCounter(void)
{ 返回symbol_ORDERING ++; }
static __inline__ BOOL symbol_PrecedenceGreater(PRECEDENCE P, SYMBOL S1, SYMBOL S2)
{
return symbol_Ordering((uintptr_t*)P, S1) < symbol_Ordering((uintptr_t*)P, S2);
}
size_t symbol_Ordering(uintptr_t*, SYMBOL);
您可能還需要顯示調用'symbol_Ordering'的代碼。 – 2010-03-11 21:08:14
那麼,PRECEDENCE被定義爲什麼? – GManNickG 2010-03-11 21:23:43
PRECENDENCE已被定義爲: typedef int * PRECEDENCE; – thetna 2010-03-11 21:50:31