-2
我有一段代碼。編譯我使用gcc編譯器。錯誤:在工會分配不兼容類型
union uStackElement {
int i;
double d;
}
typedef union uStackElement StackElement;
...
StackElement stack_pop(Stack s);
...
StackElement a = stack_pop(Stack s); // error: incompatible types in assignment
...
我不明白什麼是錯的。 :(
UPD: 棧定義:
struct sStack
{
int top ;
StackElement array[STACK_SIZE];
};
typedef struct sStack Stack;
功能stack_pop:
StackElement stack_pop(Stack s) {
StackElement ret;
if (s.top < 0) {
// TODO : error
}
ret = s.array[s.top--];
return ret;
}
如果沒有分號,它會給出一堵錯誤和警告。 – zubergu
@zubergu:我只是得到:'foo.c:6:2:error:expected';'在工會之後,但我同意提出的錯誤不是我所期望的。 –