Вариативные макросы с нулевыми аргументами и запятыми

Рассмотрим этот макрос:

#define MAKE_TEMPLATE(...) template <typename T, __VA_ARGS__ >

При использовании с нулевыми аргументами он создает неверный код, так как компилятор ожидает идентификатор после запятой. На самом деле, препроцессор VC достаточно умен, чтобы удалить запятую, но GCC нет. (в случае, если местоположение по умолчанию перемещено на машине)

Что бы это было?

5
задан Bluephlame 25 August 2010 в 06:12
поделиться