为什么这行代码返回的是0,不应该是1吗
```c++
typedef struct sqlist{
string str;
sqlist* next;
}sqlist;
string car_str_sqlist(sqlist s){
return s.str;
}
sqlist cdr_sqlist(sqlist s){
return *s.next;
}
sqlist cons_sqlist(string str,sqlist s){
sqlist h;
h.str=str;
h.next=&s;
return h;
}
sqlist empty_sqlist(){
sqlist s;
s.next=NULL;
return s;
}
bool empty_sqlist_W(sqlist s){
return s.next=NULL;
}
int main{
sqlist s=cons_sqlist("ss",cons_sqlist("sl",empty_sqlist()));
cout<<empty_sqlist_W(cdr_sqlist(cdr_sqlist(s)));
}