Как использовать BOOST_PP с лязгом-cl.exe без ошибок

голоса
0

У меня возникли проблемы с Boost, 1.69, 8.0 и лязг лязг-cl.exe, который предотвращает некоторые макросы BOOST_PP от работы. По причинам, которые я до сих пор не понимаю, тот же код работает в x86_64 сборки, но не в п x86 строит. Единственное различие между ними состоит в том:

clang-cl.exe /Oy- /D _X86_ /arch:IA32 -m32  // For x86 builds
clang-cl.exe /D _AMD64_                     // For x86_64 builds

Ошибка я получаю:

too few arguments provided to function-like macro

В черпает ошибка от моего использования BOOST_PP_SEQ_FOLD_LEFT и макро стека указывает ошибка с BOOST_PP_SEQ_ELEM_III .

Если перейти к этой макрокоманды его определяется как:

#define BOOST_PP_SEQ_ELEM_II(im) BOOST_PP_SEQ_ELEM_III(im)
#define BOOST_PP_SEQ_ELEM_III(x, _) x

лязг-сло , кажется, обработки полученного _ как недостающий параметр, который кажется правильным, но эта техника используется во всем , так что я взять на себя некоторые неподдерживаемые расширения.

Кто собирается кто-нибудь знает, Что или как это исправить?

Задан 13/01/2020 в 23:48
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more