Макрос FOR_EACH препроцессора, совместимый с MSVC ++ 10
Мы видели несколько вопросов, требующих вариацииFOR_EACH
макро. Однако, к сожалению, предоставленные ответы несовместимы с VC ++ 10, так как он расширяет __VA_ARGS __ в качестве одного аргумента при передаче другому макросу. Пожалуйста, кто-нибудь может предоставить C ++ 11-совместимую (следовательно, совместимую с версией) версию, которая все еще работает с VC ++ 10. Возможно, используяобходной путь» это часто упоминается,#define EXPAND(x) x
Однако я нене знаю, где это поставить, чтобы получить, например, последнюю обобщенную частьэтот ответ работать в VC ++ 10.
Чтобы уточнить, предполагаемое поведение дляFOR_EACH(x, a, b, ...)
производитьx(a) x(b), ...
где х другой макрос.