- 论坛徽章:
- 0
|
Second, the `##' token paste operator has a special meaning when placed between a comma and a variable argument. If you write
#define eprintf(format, ...) fprintf (stderr, format, ##__VA_ARGS__)
and the variable argument is left out when the eprintf macro is used, then the comma before the `##' will be deleted. This does not happen if you pass an empty argument, nor does it happen if the token preceding `##' is anything other than a comma.
万一 __VA_ARGS__ 为空,省去之前的逗号
http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros |
|