#define TEST(X, ...) X ## __VA_ARGS__ // (1)
#define TEST(X, args...) X ## args // (2)
Is there any functional difference between them ? (i.e. one of them can be used in a better way then other in certain cases). Also, are both the syntax included in C++11 ?