va_arg

#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )


看了半天没搞懂,原来是括号看错了,

应该是( *(t *) ( (ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) )

之前看成了:

( *(t *)( (ap += _INTSIZEOF(t)) )           -          _INTSIZEOF(t)) 


能不能不要加这么多括号。。


posted @ 2012-12-14 18:52  mosakashaka  阅读(78)  评论(0编辑  收藏  举报