This:#define WORKS(X, Z, ...) (Z, X, __VA_ARGS__)#define DOESNT(X, ...) WORKS(X, __VA_ARGS__)WORKS(1, 2, 3, 4, 5)DOESNT(1, 2, 3, 4, 5)preprocesses to:(2, 1, 3, 4, 5)(2, 3, 4, 5, 1 )The DOESNT macro should expand to the same thing as the WORKS macro, but it doesn't. It looks like the preprocessor is avoiding splitting up the forwarded __VA_ARGS__.
Visual Studio/Team Foundation Server/.NET Framework Tooling Version
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results
Please wait...