Hogyan használja BOOST_PP a csengés-cl.exe hibák nélkül

szavazat
0

Lesz egy kérdés Boost 1,69, csengés 8.0 és csengés-cl.exe hogy megakadályozza bizonyos BOOST_PP makrók működését. Okokból nem értem még, hogy ugyanezt a kódot dolgozik x86_64 épít, de nem n x86 épít. Az egyetlen különbség a kettő között van:

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

A hiba Kezdek van:

too few arguments provided to function-like macro

A hiba ered én használat BOOST_PP_SEQ_FOLD_LEFT és a makró verem jelzi a hiba a BOOST_PP_SEQ_ELEM_III .

Ha lebontja ezt a makrót annak meghatározása a következő:

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

csengés-cl úgy tűnik, hogy kezeli a _ a hiányzó paraméter, amely úgy tűnik, helyes, de ezt a technikát használják szerte így feltételezem, hogy valami nem támogatott kiterjesztés.

Tudja valaki, hogy mi folyik itt, vagy hogyan oldja meg?

A kérdést 13/01/2020 23:48
a forrás felhasználó
Más nyelveken...                            

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