我得到的錯誤,當「指定不兼容的類型時,從類型類型‘memstruct’‘詮釋’」用C以下行:不兼容的類型分配從類型類型「memstruct」「詮釋」
result1 = getValueFromBind(interpret(t->ptr1));.
是
RESULT1和函數的聲明如下:
memstruct result1;
memstruct getValueFromBind(memstruct bind);
此外,memstruct函數定義如下: 的typedef工會常數{ INT INTVAL; char * strval; }常量; typedef struct memstruct int type; int type; 常數值; } memstruct;
編輯:getValueFromBind函數返回一個簡單的檢查後的綁定或NULL。 解釋返回一個memstruct。此外,顯示在分配在C
繼錯誤是最低限度的例子(@gsamaras):http://ideone.com/Rb8ZCd
由於DSH回答了這個問題,在我的程序
在函數調用,這是什麼 - '解釋(T-> PTR1)'?它返回什麼(假設它是一個函數)? – ameyCU
爲什麼不顯示***完整的最小示例*** miney ???? :/:/:/ -1直到你這樣做。 – gsamaras
是的,我的猜測'interpret()'不會返回'memstruct'類型。 –