Пример кода:
#define FOO(...) You passed: #__VA_ARGS__
FOO(1,2,3)
FOO()
Предварительно обработайте Visual C++ (версия 14 CTP), получите:
You passed: "1,2,3"
You passed:
В последней строке #__VA_ARGS__
превращается в ничто. Я бы предпочел, чтобы он превратился в "".
Есть ли определенная ссылка на то, что должно произойти? Я много гуглил, но не мог найти.
Любой предложенный обходной путь также будет полезен.
""
, когда запускаю препроцессорgcc
. - person merlin2011   schedule 01.07.2014"Hello: " FOO() "!\n"
- person Kerrek SB   schedule 01.07.2014