关于链表的问题
看见书上有个代码应该是写链表用的,当时没看懂
用了list里面的东西
感觉挺麻烦的
所以现在还是请教各位,为什么我按照他的代码方式来书写编译不过呢
代码如下:
- C/C++ code
#define INSERT_TO_LIST(list,item,prev,next)if( !list ){ list = item; list->prev = list->next = list;}else{ item->prev = list->prev; item->next = list; item->prev = item; item->prev->next = item;}
看起来代码好像没错
但是为什么编译错误呢
我就算把里面的东西都去掉也报错
比如改为:
- C/C++ code
#define INSERT_TO_LIST(list)if( !list ){ }else{}
还是会报错
请问这是为什么,感谢大家指点
[解决办法]
介个是宏么?宏的话换行要加斜杠~
[解决办法]
酱紫的:
- C/C++ code
#define INSERT_TO_LIST(list,item,prev,next) \if( !list ) \{ \ list = item; \ list->prev = list->next = list; \} \else \{ \ item->prev = list->prev; \ item->next = list; \ item->prev = item; \ item->prev->next = item; \} \