C++宏:如何使用 __VA_ARGS__ 循环?

我正在使用sol库将许多类绑定到Lua,我想制作一个宏,使绑定一致(Lua和C++中使用相同的函数名)。 这是一个绑定的示例:

auto bind = state_->new_usertype<Class1>("Class1");
bind["Function1"] = &Class1::Function1;
bind["Function2"] = &Class1::Function2;
bind["Function3"] = &Class1::Function3;
bind["Function4"] = &Class1::Function4;

我想要像这样的东西扩展到上面的示例:

SOL_BIND(Class1,
    Function1
    Function2,
    Function3,
    Function4)

我该怎么做呢?如果可能的话?

原文链接 https://stackoverflow.com/questions/69768643

点赞